| cpp_quote("/**") | |
| cpp_quote(" * This file is part of the mingw-w64 runtime package.") | |
| cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | |
| cpp_quote(" */") | |
| cpp_quote("") | |
| import "wtypesbase.idl"; | |
| cpp_quote("") | |
| [uuid (D3980A60-910c-1068-9341-00dd010f2f1c), version (0.1), pointer_default (unique)] | |
| interface IWinTypes { | |
| typedef struct tagRemHGLOBAL { | |
| long fNullHGlobal; | |
| unsigned long cbData; | |
| [size_is (cbData)] byte data[]; | |
| } RemHGLOBAL; | |
| cpp_quote("") | |
| typedef struct tagRemHMETAFILEPICT { | |
| long mm; | |
| long xExt; | |
| long yExt; | |
| unsigned long cbData; | |
| [size_is (cbData)] byte data[]; | |
| } RemHMETAFILEPICT; | |
| cpp_quote("") | |
| typedef struct tagRemHENHMETAFILE { | |
| unsigned long cbData; | |
| [size_is (cbData)] byte data[]; | |
| } RemHENHMETAFILE; | |
| typedef struct tagRemHBITMAP { | |
| unsigned long cbData; | |
| [size_is (cbData)] byte data[]; | |
| } RemHBITMAP; | |
| cpp_quote("") | |
| typedef struct tagRemHPALETTE { | |
| unsigned long cbData; | |
| [size_is (cbData)] byte data[]; | |
| } RemHPALETTE; | |
| cpp_quote("") | |
| typedef struct tagRemBRUSH { | |
| unsigned long cbData; | |
| [size_is (cbData)] byte data[]; | |
| } RemHBRUSH; | |
| cpp_quote("#if 0") | |
| typedef UINT_PTR WPARAM; | |
| typedef LONG_PTR LPARAM; | |
| typedef LONG_PTR LRESULT; | |
| #define DECLARE_WIREM_HANDLE(name) typedef [wire_marshal (wire ## name)] void *name | |
| #define DECLARE_HANDLE(name) typedef void *name | |
| DECLARE_HANDLE (HMODULE); | |
| DECLARE_HANDLE (HINSTANCE); | |
| DECLARE_HANDLE (HTASK); | |
| DECLARE_HANDLE (HKEY); | |
| DECLARE_HANDLE (HDESK); | |
| DECLARE_HANDLE (HMF); | |
| DECLARE_HANDLE (HEMF); | |
| DECLARE_HANDLE (HPEN); | |
| DECLARE_HANDLE (HRSRC); | |
| DECLARE_HANDLE (HSTR); | |
| DECLARE_HANDLE (HWINSTA); | |
| DECLARE_HANDLE (HKL); | |
| DECLARE_HANDLE (HGDIOBJ); | |
| typedef HANDLE HDWP; | |
| typedef INT HFILE; | |
| typedef DWORD COLORREF; | |
| typedef DWORD *LPCOLORREF; | |
| typedef struct _RECTL { | |
| LONG left; | |
| LONG top; | |
| LONG right; | |
| LONG bottom; | |
| } RECTL,*PRECTL,*LPRECTL; | |
| typedef struct tagPOINT { | |
| LONG x; | |
| LONG y; | |
| } POINT,*PPOINT,*LPPOINT; | |
| typedef struct _POINTL { | |
| LONG x; | |
| LONG y; | |
| } POINTL,*PPOINTL; | |
| typedef struct tagSIZE { | |
| LONG cx; | |
| LONG cy; | |
| } SIZE,*PSIZE,*LPSIZE; | |
| typedef struct tagSIZEL { | |
| LONG cx; | |
| LONG cy; | |
| } SIZEL,*PSIZEL,*LPSIZEL; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _PALETTEENTRY_DEFINED") | |
| cpp_quote("#define _PALETTEENTRY_DEFINED") | |
| cpp_quote("") | |
| typedef struct tagPALETTEENTRY { | |
| BYTE peRed; | |
| BYTE peGreen; | |
| BYTE peBlue; | |
| BYTE peFlags; | |
| } PALETTEENTRY,*PPALETTEENTRY,*LPPALETTEENTRY; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _LOGPALETTE_DEFINED") | |
| cpp_quote("#define _LOGPALETTE_DEFINED") | |
| cpp_quote("") | |
| typedef struct tagLOGPALETTE { | |
| WORD palVersion; | |
| WORD palNumEntries; | |
| [size_is (palNumEntries)] PALETTEENTRY palPalEntry[]; | |
| } LOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _WINDEF_") | |
| typedef const RECTL *LPCRECTL; | |
| typedef struct tagRECT { | |
| LONG left; | |
| LONG top; | |
| LONG right; | |
| LONG bottom; | |
| } RECT,*PRECT,*LPRECT; | |
| typedef const RECT *LPCRECT; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#if 0") | |
| typedef FMTID *REFFMTID; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _ROTFLAGS_DEFINED") | |
| cpp_quote("#define _ROTFLAGS_DEFINED") | |
| cpp_quote("#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1") | |
| cpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _ROT_COMPARE_MAX_DEFINED") | |
| cpp_quote("#define _ROT_COMPARE_MAX_DEFINED") | |
| cpp_quote("#define ROT_COMPARE_MAX 2048") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| typedef enum tagDVASPECT { | |
| DVASPECT_CONTENT = 1, | |
| DVASPECT_THUMBNAIL = 2, | |
| DVASPECT_ICON = 4, | |
| DVASPECT_DOCPRINT = 8 | |
| } DVASPECT; | |
| cpp_quote("") | |
| typedef enum tagSTGC { | |
| STGC_DEFAULT = 0, | |
| STGC_OVERWRITE = 1, | |
| STGC_ONLYIFCURRENT = 2, | |
| STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, | |
| STGC_CONSOLIDATE = 8 | |
| } STGC; | |
| cpp_quote("") | |
| typedef enum tagSTGMOVE { | |
| STGMOVE_MOVE = 0, | |
| STGMOVE_COPY = 1, | |
| STGMOVE_SHALLOWCOPY = 2 | |
| } STGMOVE; | |
| cpp_quote("") | |
| typedef enum tagSTATFLAG { | |
| STATFLAG_DEFAULT = 0, | |
| STATFLAG_NONAME = 1, | |
| STATFLAG_NOOPEN = 2 | |
| } STATFLAG; | |
| typedef [context_handle] void *HCONTEXT; | |
| cpp_quote("") | |
| cpp_quote("#ifndef _LCID_DEFINED") | |
| cpp_quote("#define _LCID_DEFINED") | |
| typedef DWORD LCID; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _LANGID_DEFINED") | |
| cpp_quote("#define _LANGID_DEFINED") | |
| typedef USHORT LANGID; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| const unsigned long WDT_INPROC_CALL = 0x48746457; | |
| const unsigned long WDT_REMOTE_CALL = 0x52746457; | |
| const unsigned long WDT_INPROC64_CALL = 0x50746457; | |
| cpp_quote("") | |
| typedef union _userCLIPFORMAT switch (long fContext) u { | |
| case WDT_INPROC_CALL: DWORD dwValue; | |
| case WDT_REMOTE_CALL: [string] wchar_t *pwszName; | |
| } userCLIPFORMAT; | |
| cpp_quote("") | |
| typedef [unique] userCLIPFORMAT *wireCLIPFORMAT; | |
| typedef [wire_marshal (wireCLIPFORMAT)] WORD CLIPFORMAT; | |
| cpp_quote("") | |
| typedef union _GDI_NONREMOTE switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: DWORD_BLOB *hRemote; | |
| } GDI_NONREMOTE; | |
| cpp_quote("") | |
| typedef union _userHGLOBAL switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote; | |
| case WDT_INPROC64_CALL: __int64 hInproc64; | |
| } userHGLOBAL; | |
| cpp_quote("") | |
| typedef [unique] userHGLOBAL *wireHGLOBAL; | |
| cpp_quote("") | |
| typedef union _userHMETAFILE switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: BYTE_BLOB *hRemote; | |
| case WDT_INPROC64_CALL: __int64 hInproc64; | |
| } userHMETAFILE; | |
| cpp_quote("") | |
| typedef struct _remoteMETAFILEPICT { | |
| long mm; | |
| long xExt; | |
| long yExt; | |
| userHMETAFILE *hMF; | |
| } remoteMETAFILEPICT; | |
| cpp_quote("") | |
| typedef union _userHMETAFILEPICT switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: remoteMETAFILEPICT *hRemote; | |
| case WDT_INPROC64_CALL: __int64 hInproc64; | |
| } userHMETAFILEPICT; | |
| cpp_quote("") | |
| typedef union _userHENHMETAFILE switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: BYTE_BLOB *hRemote; | |
| case WDT_INPROC64_CALL: __int64 hInproc64; | |
| } userHENHMETAFILE; | |
| cpp_quote("") | |
| typedef struct _userBITMAP { | |
| LONG bmType; | |
| LONG bmWidth; | |
| LONG bmHeight; | |
| LONG bmWidthBytes; | |
| WORD bmPlanes; | |
| WORD bmBitsPixel; | |
| ULONG cbSize; | |
| [size_is (cbSize)] byte pBuffer[]; | |
| } userBITMAP; | |
| cpp_quote("") | |
| typedef union _userHBITMAP switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: userBITMAP *hRemote; | |
| case WDT_INPROC64_CALL: __int64 hInproc64; | |
| } userHBITMAP; | |
| cpp_quote("") | |
| typedef union _userHPALETTE switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: LOGPALETTE *hRemote; | |
| case WDT_INPROC64_CALL: __int64 hInproc64; | |
| } userHPALETTE; | |
| cpp_quote("") | |
| typedef union _RemotableHandle switch (long fContext) u { | |
| case WDT_INPROC_CALL: long hInproc; | |
| case WDT_REMOTE_CALL: long hRemote; | |
| } RemotableHandle; | |
| cpp_quote("") | |
| typedef [unique] RemotableHandle *wireHWND; | |
| typedef [unique] RemotableHandle *wireHMENU; | |
| typedef [unique] RemotableHandle *wireHACCEL; | |
| typedef [unique] RemotableHandle *wireHBRUSH; | |
| typedef [unique] RemotableHandle *wireHFONT; | |
| typedef [unique] RemotableHandle *wireHDC; | |
| typedef [unique] RemotableHandle *wireHICON; | |
| typedef [unique] RemotableHandle *wireHRGN; | |
| typedef [unique] RemotableHandle *wireHMONITOR; | |
| cpp_quote("") | |
| cpp_quote("#if 0") | |
| #ifndef _MIDL_DECLARE_WIREM_HANDLE | |
| DECLARE_WIREM_HANDLE (HWND); | |
| DECLARE_WIREM_HANDLE (HMENU); | |
| DECLARE_WIREM_HANDLE (HACCEL); | |
| DECLARE_WIREM_HANDLE (HBRUSH); | |
| DECLARE_WIREM_HANDLE (HFONT); | |
| DECLARE_WIREM_HANDLE (HDC); | |
| DECLARE_WIREM_HANDLE (HICON); | |
| DECLARE_WIREM_HANDLE (HRGN); | |
| DECLARE_WIREM_HANDLE (HMONITOR); | |
| #endif | |
| cpp_quote("") | |
| cpp_quote("#ifndef _HCURSOR_DEFINED") | |
| cpp_quote("#define _HCURSOR_DEFINED") | |
| typedef HICON HCURSOR; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _TEXTMETRIC_DEFINED") | |
| cpp_quote("#define _TEXTMETRIC_DEFINED") | |
| cpp_quote("") | |
| typedef struct tagTEXTMETRICW { | |
| LONG tmHeight; | |
| LONG tmAscent; | |
| LONG tmDescent; | |
| LONG tmInternalLeading; | |
| LONG tmExternalLeading; | |
| LONG tmAveCharWidth; | |
| LONG tmMaxCharWidth; | |
| LONG tmWeight; | |
| LONG tmOverhang; | |
| LONG tmDigitizedAspectX; | |
| LONG tmDigitizedAspectY; | |
| WCHAR tmFirstChar; | |
| WCHAR tmLastChar; | |
| WCHAR tmDefaultChar; | |
| WCHAR tmBreakChar; | |
| BYTE tmItalic; | |
| BYTE tmUnderlined; | |
| BYTE tmStruckOut; | |
| BYTE tmPitchAndFamily; | |
| BYTE tmCharSet; | |
| } TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _WIN32") | |
| cpp_quote("#ifndef WINAPI") | |
| typedef struct tagMSG { | |
| HWND hwnd; | |
| UINT message; | |
| WPARAM wParam; | |
| LPARAM lParam; | |
| DWORD time; | |
| POINT pt; | |
| } MSG,*PMSG,*NPMSG,*LPMSG; | |
| cpp_quote("#endif") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| typedef [unique] userHBITMAP *wireHBITMAP; | |
| typedef [unique] userHPALETTE *wireHPALETTE; | |
| typedef [unique] userHENHMETAFILE *wireHENHMETAFILE; | |
| typedef [unique] userHMETAFILE *wireHMETAFILE; | |
| typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT; | |
| cpp_quote("") | |
| cpp_quote("#if 0") | |
| DECLARE_WIREM_HANDLE (HGLOBAL); | |
| typedef HGLOBAL HLOCAL; | |
| DECLARE_WIREM_HANDLE (HBITMAP); | |
| DECLARE_WIREM_HANDLE (HPALETTE); | |
| DECLARE_WIREM_HANDLE (HENHMETAFILE); | |
| DECLARE_WIREM_HANDLE (HMETAFILE); | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| DECLARE_WIREM_HANDLE (HMETAFILEPICT); | |
| } | |
| cpp_quote("") | |
| typedef double DATE; | |
| cpp_quote("") | |
| cpp_quote("#ifndef _tagCY_DEFINED") | |
| cpp_quote("#define _tagCY_DEFINED") | |
| cpp_quote("#define _CY_DEFINED") | |
| cpp_quote("") | |
| cpp_quote("#if 0") | |
| typedef struct tagCY { | |
| LONGLONG int64; | |
| } CY; | |
| cpp_quote("#else") | |
| cpp_quote("typedef union tagCY {") | |
| cpp_quote(" __C89_NAMELESS struct {") | |
| cpp_quote(" unsigned __LONG32 Lo;") | |
| cpp_quote(" __LONG32 Hi;") | |
| cpp_quote(" } DUMMYSTRUCTNAME;") | |
| cpp_quote(" LONGLONG int64;") | |
| cpp_quote("} CY;") | |
| cpp_quote("#endif") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| typedef CY *LPCY; | |
| cpp_quote("") | |
| cpp_quote("#if 0") | |
| typedef struct tagDEC { | |
| USHORT wReserved; | |
| BYTE scale; | |
| BYTE sign; | |
| ULONG Hi32; | |
| ULONGLONG Lo64; | |
| } DECIMAL; | |
| cpp_quote("#else") | |
| cpp_quote("typedef struct tagDEC {") | |
| cpp_quote(" USHORT wReserved;") | |
| cpp_quote(" __C89_NAMELESS union {") | |
| cpp_quote(" __C89_NAMELESS struct {") | |
| cpp_quote(" BYTE scale;") | |
| cpp_quote(" BYTE sign;") | |
| cpp_quote(" } DUMMYSTRUCTNAME;") | |
| cpp_quote(" USHORT signscale;") | |
| cpp_quote(" } DUMMYUNIONNAME;") | |
| cpp_quote(" ULONG Hi32;") | |
| cpp_quote(" __C89_NAMELESS union {") | |
| cpp_quote(" __C89_NAMELESS struct {") | |
| cpp_quote(" ULONG Lo32;") | |
| cpp_quote(" ULONG Mid32;") | |
| cpp_quote(" } DUMMYSTRUCTNAME2;") | |
| cpp_quote(" ULONGLONG Lo64;") | |
| cpp_quote(" } DUMMYUNIONNAME2;") | |
| cpp_quote("} DECIMAL;") | |
| cpp_quote("") | |
| cpp_quote("#define DECIMAL_NEG ((BYTE)0x80)") | |
| cpp_quote("#define DECIMAL_SETZERO(dec) { (dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0; }") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| typedef DECIMAL *LPDECIMAL; | |
| cpp_quote("") | |
| typedef [unique] FLAGGED_WORD_BLOB *wireBSTR; | |
| typedef [wire_marshal (wireBSTR)] OLECHAR *BSTR; | |
| cpp_quote("") | |
| typedef BSTR *LPBSTR; | |
| cpp_quote("") | |
| typedef short VARIANT_BOOL; | |
| cpp_quote("#if 0") | |
| typedef VARIANT_BOOL _VARIANT_BOOL; | |
| cpp_quote("#else") | |
| cpp_quote("#define _VARIANT_BOOL /##/") | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#ifndef _tagBSTRBLOB_DEFINED") | |
| cpp_quote("#define _tagBSTRBLOB_DEFINED") | |
| cpp_quote("") | |
| typedef struct tagBSTRBLOB { | |
| ULONG cbSize; | |
| [size_is (cbSize)] BYTE *pData; | |
| } BSTRBLOB,*LPBSTRBLOB; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)-1)") | |
| cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0)") | |
| cpp_quote("") | |
| typedef struct tagCLIPDATA { | |
| ULONG cbSize; | |
| long ulClipFmt; | |
| [size_is (cbSize-4)] BYTE *pClipData; | |
| } CLIPDATA; | |
| cpp_quote("") | |
| cpp_quote("#define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt))") | |
| cpp_quote("") | |
| typedef unsigned short VARTYPE; | |
| cpp_quote("") | |
| enum VARENUM { | |
| VT_EMPTY = 0, | |
| VT_NULL = 1, | |
| VT_I2 = 2, | |
| VT_I4 = 3, | |
| VT_R4 = 4, | |
| VT_R8 = 5, | |
| VT_CY = 6, | |
| VT_DATE = 7, | |
| VT_BSTR = 8, | |
| VT_DISPATCH = 9, | |
| VT_ERROR = 10, | |
| VT_BOOL = 11, | |
| VT_VARIANT = 12, | |
| VT_UNKNOWN = 13, | |
| VT_DECIMAL = 14, | |
| VT_I1 = 16, | |
| VT_UI1 = 17, | |
| VT_UI2 = 18, | |
| VT_UI4 = 19, | |
| VT_I8 = 20, | |
| VT_UI8 = 21, | |
| VT_INT = 22, | |
| VT_UINT = 23, | |
| VT_VOID = 24, | |
| VT_HRESULT = 25, | |
| VT_PTR = 26, | |
| VT_SAFEARRAY = 27, | |
| VT_CARRAY = 28, | |
| VT_USERDEFINED = 29, | |
| VT_LPSTR = 30, | |
| VT_LPWSTR = 31, | |
| VT_RECORD = 36, | |
| VT_INT_PTR = 37, | |
| VT_UINT_PTR = 38, | |
| VT_FILETIME = 64, | |
| VT_BLOB = 65, | |
| VT_STREAM = 66, | |
| VT_STORAGE = 67, | |
| VT_STREAMED_OBJECT = 68, | |
| VT_STORED_OBJECT = 69, | |
| VT_BLOB_OBJECT = 70, | |
| VT_CF = 71, | |
| VT_CLSID = 72, | |
| VT_VERSIONED_STREAM= 73, | |
| VT_BSTR_BLOB = 0x0fff, | |
| VT_VECTOR = 0x1000, | |
| VT_ARRAY = 0x2000, | |
| VT_BYREF = 0x4000, | |
| VT_RESERVED = 0x8000, | |
| VT_ILLEGAL = 0xffff, | |
| VT_ILLEGALMASKED = 0x0fff, | |
| VT_TYPEMASK = 0x0fff | |
| }; | |
| cpp_quote("") | |
| typedef ULONG PROPID; | |
| cpp_quote("") | |
| cpp_quote("#ifndef PROPERTYKEY_DEFINED") | |
| cpp_quote("#define PROPERTYKEY_DEFINED") | |
| cpp_quote("") | |
| typedef struct _tagpropertykey { | |
| GUID fmtid; | |
| DWORD pid; | |
| } PROPERTYKEY; | |
| cpp_quote("#endif") | |
| cpp_quote("") | |
| typedef struct tagCSPLATFORM { | |
| DWORD dwPlatformId; | |
| DWORD dwVersionHi; | |
| DWORD dwVersionLo; | |
| DWORD dwProcessorArch; | |
| } CSPLATFORM; | |
| cpp_quote("") | |
| typedef struct tagQUERYCONTEXT { | |
| DWORD dwContext; | |
| CSPLATFORM Platform; | |
| LCID Locale; | |
| DWORD dwVersionHi; | |
| DWORD dwVersionLo; | |
| } QUERYCONTEXT; | |
| cpp_quote("") | |
| typedef [v1_enum] enum tagTYSPEC { | |
| TYSPEC_CLSID, | |
| TYSPEC_FILEEXT, | |
| TYSPEC_MIMETYPE, | |
| TYSPEC_FILENAME, | |
| TYSPEC_PROGID, | |
| TYSPEC_PACKAGENAME, | |
| TYSPEC_OBJECTID | |
| } TYSPEC; | |
| cpp_quote("") | |
| typedef union switch (DWORD tyspec) { | |
| case TYSPEC_CLSID: CLSID clsid; | |
| case TYSPEC_FILEEXT: LPOLESTR pFileExt; | |
| case TYSPEC_MIMETYPE: LPOLESTR pMimeType; | |
| case TYSPEC_PROGID: LPOLESTR pProgId; | |
| case TYSPEC_FILENAME: LPOLESTR pFileName; | |
| case TYSPEC_PACKAGENAME: struct { | |
| LPOLESTR pPackageName; | |
| GUID PolicyId; | |
| } ByName; | |
| case TYSPEC_OBJECTID: struct { | |
| GUID ObjectId; | |
| GUID PolicyId; | |
| } ByObjectId; | |
| } uCLSSPEC; |