<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.2.25163.9" />

PROPVARIANT

struct PROPVARIANT
The PROPVARIANT structure is used in the ReadMultiple and WriteMultiple methods of IPropertyStorage to define the type tag and the value of a property in a property set.
using System; using System.CodeDom.Compiler; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; using Windows.Win32.Foundation; using Windows.Win32.System.Variant; namespace Windows.Win32.System.Com.StructuredStorage { [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal struct PROPVARIANT { [StructLayout(LayoutKind.Explicit)] [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal struct _Anonymous_e__Union { [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal struct _Anonymous_e__Struct { [StructLayout(LayoutKind.Explicit)] [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal struct _Anonymous_e__Union { [FieldOffset(0)] internal CHAR cVal; [FieldOffset(0)] internal byte bVal; [FieldOffset(0)] internal short iVal; [FieldOffset(0)] internal ushort uiVal; [FieldOffset(0)] internal int lVal; [FieldOffset(0)] internal uint ulVal; [FieldOffset(0)] internal int intVal; [FieldOffset(0)] internal uint uintVal; [FieldOffset(0)] internal long hVal; [FieldOffset(0)] internal ulong uhVal; [FieldOffset(0)] internal float fltVal; [FieldOffset(0)] internal double dblVal; [FieldOffset(0)] internal VARIANT_BOOL boolVal; [FieldOffset(0)] internal VARIANT_BOOL __OBSOLETE__VARIANT_BOOL; [FieldOffset(0)] internal int scode; [FieldOffset(0)] internal CY cyVal; [FieldOffset(0)] internal double date; [FieldOffset(0)] internal global::System.Runtime.InteropServices.ComTypes.FILETIME filetime; [FieldOffset(0)] internal unsafe Guid* puuid; [FieldOffset(0)] internal unsafe CLIPDATA* pclipdata; [FieldOffset(0)] internal BSTR bstrVal; [FieldOffset(0)] internal BSTRBLOB bstrblobVal; [FieldOffset(0)] internal BLOB blob; [FieldOffset(0)] internal PSTR pszVal; [FieldOffset(0)] internal PWSTR pwszVal; [FieldOffset(0)] internal unsafe IUnknown* punkVal; [FieldOffset(0)] internal unsafe IDispatch* pdispVal; [FieldOffset(0)] internal unsafe IStream* pStream; [FieldOffset(0)] internal unsafe IStorage* pStorage; [FieldOffset(0)] internal unsafe VERSIONEDSTREAM* pVersionedStream; [FieldOffset(0)] internal unsafe SAFEARRAY* parray; [FieldOffset(0)] internal CAC cac; [FieldOffset(0)] internal CAUB caub; [FieldOffset(0)] internal CAI cai; [FieldOffset(0)] internal CAUI caui; [FieldOffset(0)] internal CAL cal; [FieldOffset(0)] internal CAUL caul; [FieldOffset(0)] internal CAH cah; [FieldOffset(0)] internal CAUH cauh; [FieldOffset(0)] internal CAFLT caflt; [FieldOffset(0)] internal CADBL cadbl; [FieldOffset(0)] internal CABOOL cabool; [FieldOffset(0)] internal CASCODE cascode; [FieldOffset(0)] internal CACY cacy; [FieldOffset(0)] internal CADATE cadate; [FieldOffset(0)] internal CAFILETIME cafiletime; [FieldOffset(0)] internal CACLSID cauuid; [FieldOffset(0)] internal CACLIPDATA caclipdata; [FieldOffset(0)] internal CABSTR cabstr; [FieldOffset(0)] internal CABSTRBLOB cabstrblob; [FieldOffset(0)] internal CALPSTR calpstr; [FieldOffset(0)] internal CALPWSTR calpwstr; [FieldOffset(0)] internal CAPROPVARIANT capropvar; [FieldOffset(0)] internal PSTR pcVal; [FieldOffset(0)] internal unsafe byte* pbVal; [FieldOffset(0)] internal unsafe short* piVal; [FieldOffset(0)] internal unsafe ushort* puiVal; [FieldOffset(0)] internal unsafe int* plVal; [FieldOffset(0)] internal unsafe uint* pulVal; [FieldOffset(0)] internal unsafe int* pintVal; [FieldOffset(0)] internal unsafe uint* puintVal; [FieldOffset(0)] internal unsafe float* pfltVal; [FieldOffset(0)] internal unsafe double* pdblVal; [FieldOffset(0)] internal unsafe VARIANT_BOOL* pboolVal; [FieldOffset(0)] internal unsafe DECIMAL* pdecVal; [FieldOffset(0)] internal unsafe int* pscode; [FieldOffset(0)] internal unsafe CY* pcyVal; [FieldOffset(0)] internal unsafe double* pdate; [FieldOffset(0)] internal unsafe BSTR* pbstrVal; [FieldOffset(0)] internal unsafe IUnknown** ppunkVal; [FieldOffset(0)] internal unsafe IDispatch** ppdispVal; [FieldOffset(0)] internal unsafe SAFEARRAY** pparray; [FieldOffset(0)] internal unsafe PROPVARIANT* pvarVal; } internal VARENUM vt; internal ushort wReserved1; internal ushort wReserved2; internal ushort wReserved3; internal _Anonymous_e__Union Anonymous; } [FieldOffset(0)] internal _Anonymous_e__Struct Anonymous; [FieldOffset(0)] internal DECIMAL decVal; } internal _Anonymous_e__Union Anonymous; } }