46 references to SAFEARRAY
Microsoft.Private.Windows.Core (46)
Windows.Win32.PInvokeCore.OLEAUT32.dll.g.cs (19)
96 internal static unsafe winmdroot.System.Com.SAFEARRAY* SafeArrayCreate(winmdroot.System.Variant.VARENUM vt, uint cDims, in winmdroot.System.Com.SAFEARRAYBOUND rgsabound) 100 winmdroot.System.Com.SAFEARRAY* __result = PInvokeCore.SafeArrayCreate(vt, cDims, rgsaboundLocal); 114 internal static extern unsafe winmdroot.System.Com.SAFEARRAY* SafeArrayCreate(winmdroot.System.Variant.VARENUM vt, uint cDims, winmdroot.System.Com.SAFEARRAYBOUND* rgsabound); 117 internal static unsafe winmdroot.System.Com.SAFEARRAY* SafeArrayCreateEx(winmdroot.System.Variant.VARENUM vt, uint cDims, in winmdroot.System.Com.SAFEARRAYBOUND rgsabound, void* pvExtra) 121 winmdroot.System.Com.SAFEARRAY* __result = PInvokeCore.SafeArrayCreateEx(vt, cDims, rgsaboundLocal, pvExtra); 134 internal static extern unsafe winmdroot.System.Com.SAFEARRAY* SafeArrayCreateEx(winmdroot.System.Variant.VARENUM vt, uint cDims, winmdroot.System.Com.SAFEARRAYBOUND* rgsabound, void* pvExtra); 144 internal static extern unsafe winmdroot.Foundation.HRESULT SafeArrayDestroy(winmdroot.System.Com.SAFEARRAY* psa); 146 /// <inheritdoc cref="SafeArrayGetElement(winmdroot.System.Com.SAFEARRAY*, int*, void*)"/> 147 internal static unsafe winmdroot.Foundation.HRESULT SafeArrayGetElement(winmdroot.System.Com.SAFEARRAY* psa, in int rgIndices, void* pv) 166 internal static extern unsafe winmdroot.Foundation.HRESULT SafeArrayGetElement(winmdroot.System.Com.SAFEARRAY* psa, int* rgIndices, void* pv); 179 internal static extern unsafe winmdroot.Foundation.HRESULT SafeArrayGetRecordInfo(winmdroot.System.Com.SAFEARRAY* psa, winmdroot.System.Ole.IRecordInfo** prinfo); 181 /// <inheritdoc cref="SafeArrayGetVartype(winmdroot.System.Com.SAFEARRAY*, winmdroot.System.Variant.VARENUM*)"/> 182 internal static unsafe winmdroot.Foundation.HRESULT SafeArrayGetVartype(winmdroot.System.Com.SAFEARRAY* psa, out winmdroot.System.Variant.VARENUM pvt) 203 internal static extern unsafe winmdroot.Foundation.HRESULT SafeArrayGetVartype(winmdroot.System.Com.SAFEARRAY* psa, winmdroot.System.Variant.VARENUM* pvt); 216 internal static extern unsafe winmdroot.Foundation.HRESULT SafeArrayLock(winmdroot.System.Com.SAFEARRAY* psa); 218 /// <inheritdoc cref="SafeArrayPutElement(winmdroot.System.Com.SAFEARRAY*, int*, void*)"/> 219 internal static unsafe winmdroot.Foundation.HRESULT SafeArrayPutElement(winmdroot.System.Com.SAFEARRAY* psa, in int rgIndices, void* pv) 241 internal static extern unsafe winmdroot.Foundation.HRESULT SafeArrayPutElement(winmdroot.System.Com.SAFEARRAY* psa, int* rgIndices, void* pv); 251 internal static extern unsafe winmdroot.Foundation.HRESULT SafeArrayUnlock(winmdroot.System.Com.SAFEARRAY* psa);
Windows.Win32.PROPVARIANT.g.cs (2)
152 internal unsafe winmdroot.System.Com.SAFEARRAY* parray; 275 internal unsafe winmdroot.System.Com.SAFEARRAY** pparray;
Windows.Win32.SAFEARRAY.g.cs (1)
56 int v = sizeof(SAFEARRAY);
Windows.Win32.VARIANT.g.cs (2)
101 internal unsafe winmdroot.System.Com.SAFEARRAY* parray; 146 internal unsafe winmdroot.System.Com.SAFEARRAY** pparray;
Windows\Win32\System\Com\SAFEARRAY.cs (2)
26public static SAFEARRAY* CreateEmpty(VARENUM arrayType) 62fixed (SAFEARRAY* pThis = &this)
Windows\Win32\System\Com\SafeArrayScope.cs (20)
9/// Helper to scope lifetime of a <see cref="SAFEARRAY"/> created via 11/// Destroys the <see cref="SAFEARRAY"/> (if any) when disposed. Note that this scope currently only works for a 12/// one dimensional <see cref="SAFEARRAY"/>. 16/// Use in a <see langword="using" /> statement to ensure the <see cref="SAFEARRAY"/> gets disposed. 19/// If the <see cref="SAFEARRAY"/> you are intending to scope the lifetime of has type <see cref="VARENUM.VT_UNKNOWN"/>, 27public SAFEARRAY* Value => (SAFEARRAY*)_value; 29public SafeArrayScope(SAFEARRAY* value) 143/// A copy will be made of anything that is put into the <see cref="SAFEARRAY"/> 144/// and anything the <see cref="SAFEARRAY"/> gives out is a copy and has been add ref appropriately if applicable. 145/// Be sure to dispose of items that are given to the <see cref="SAFEARRAY"/> if necessary. All 146/// items given out by the <see cref="SAFEARRAY"/> should be disposed. 224PInvokeCore.SafeArrayPutElement((SAFEARRAY*)_value, pIndices, value).ThrowOnFailure(); 236SAFEARRAY* safeArray = (SAFEARRAY*)_value; 249public static explicit operator VARIANT(in SafeArrayScope<T> scope) => new() { vt = VARENUM.VT_ARRAY | scope.Value->VarType, data = new() { parray = (SAFEARRAY*)scope._value } }; 251public static implicit operator SAFEARRAY*(in SafeArrayScope<T> scope) => (SAFEARRAY*)scope._value; 256public static implicit operator SAFEARRAY**(in SafeArrayScope<T> scope) => (SAFEARRAY**)Unsafe.AsPointer(ref Unsafe.AsRef(in scope._value));