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)
26
public static
SAFEARRAY
* CreateEmpty(VARENUM arrayType)
62
fixed (
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"/>,
27
public
SAFEARRAY
* Value => (
SAFEARRAY
*)_value;
29
public 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.
224
PInvokeCore.SafeArrayPutElement((
SAFEARRAY
*)_value, pIndices, value).ThrowOnFailure();
236
SAFEARRAY
* safeArray = (
SAFEARRAY
*)_value;
249
public static explicit operator VARIANT(in SafeArrayScope<T> scope) => new() { vt = VARENUM.VT_ARRAY | scope.Value->VarType, data = new() { parray = (
SAFEARRAY
*)scope._value } };
251
public static implicit operator
SAFEARRAY
*(in SafeArrayScope<T> scope) => (
SAFEARRAY
*)scope._value;
256
public static implicit operator
SAFEARRAY
**(in SafeArrayScope<T> scope) => (
SAFEARRAY
**)Unsafe.AsPointer(ref Unsafe.AsRef(in scope._value));