25 uuid(D3980A60-910
C-1068-9341-00DD010F2F1C),
37typedef
unsigned short WORD;
66#define DECLARE_HANDLE(name) typedef void *name
67#define DECLARE_WIREM_HANDLE(name) typedef [wire_marshal(wire##name)] void*name
187cpp_quote("
#ifdef _MSC_VER") /* for IDL and MSVC only */
188typedef double DOUBLE;
190cpp_quote("typedef double DECLSPEC_ALIGN(8) DOUBLE;")
193cpp_quote("#ifndef _PALETTEENTRY_DEFINED")
194cpp_quote("#define _PALETTEENTRY_DEFINED")
195typedef struct tagPALETTEENTRY {
200} PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
203cpp_quote("#ifndef _LOGPALETTE_DEFINED")
204cpp_quote("#define _LOGPALETTE_DEFINED")
205typedef struct tagLOGPALETTE
209 [size_is(palNumEntries)] PALETTEENTRY palPalEntry[*];
210} LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
213cpp_quote("#ifndef _SYSTEMTIME_")
214cpp_quote("#define _SYSTEMTIME_")
215typedef struct _SYSTEMTIME{
224} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
227cpp_quote("#ifndef _FILETIME_")
228cpp_quote("#define _FILETIME_")
229typedef struct _FILETIME {
231 DWORD dwHighDateTime;
232} FILETIME, *PFILETIME, *LPFILETIME;
235cpp_quote("#ifndef _TEXTMETRIC_DEFINED")
236cpp_quote("#define _TEXTMETRIC_DEFINED")
237typedef struct tagTEXTMETRICA
242 LONG tmInternalLeading;
243 LONG tmExternalLeading;
248 LONG tmDigitizedAspectX;
249 LONG tmDigitizedAspectY;
257 BYTE tmPitchAndFamily;
259} TEXTMETRICA, *LPTEXTMETRICA, *PTEXTMETRICA;
261typedef struct tagTEXTMETRICW
266 LONG tmInternalLeading;
267 LONG tmExternalLeading;
272 LONG tmDigitizedAspectX;
273 LONG tmDigitizedAspectY;
281 BYTE tmPitchAndFamily;
283} TEXTMETRICW, *LPTEXTMETRICW, *PTEXTMETRICW;
286/******************** BASIC COM/OLE TYPES ********************/
288typedef WCHAR OLECHAR;
289typedef [string] OLECHAR *LPOLESTR;
290typedef [string] const OLECHAR *LPCOLESTR;
291cpp_quote("#ifndef __WINESRC__")
292cpp_quote("# ifdef WINE_UNICODE_NATIVE")
293cpp_quote("# define OLESTR(str) L##str")
295cpp_quote("# define OLESTR(str) u##str")
301typedef struct _COAUTHIDENTITY {
302 [size_is(UserLength+1)] USHORT *User;
304 [size_is(DomainLength+1)] USHORT *Domain;
306 [size_is(PasswordLength+1)] USHORT *Password;
307 ULONG PasswordLength;
311typedef struct _COAUTHINFO {
314 LPWSTR pwszServerPrincName;
316 DWORD dwImpersonationLevel;
317 COAUTHIDENTITY *pAuthIdentityData;
318 DWORD dwCapabilities;
321typedef enum tagMEMCTX {
324 MEMCTX_MACSYSTEM = 3,
329cpp_quote("#ifndef _ROT_COMPARE_MAX_DEFINED")
330cpp_quote("#define _ROT_COMPARE_MAX_DEFINED")
331cpp_quote("#define ROT_COMPARE_MAX 2048")
334cpp_quote("#ifndef _ROTFLAGS_DEFINED")
335cpp_quote("#define _ROTFLAGS_DEFINED")
336cpp_quote("#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1")
337cpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2")
340typedef enum tagCLSCTX {
341 CLSCTX_INPROC_SERVER = 0x00000001,
342 CLSCTX_INPROC_HANDLER = 0x00000002,
343 CLSCTX_LOCAL_SERVER = 0x00000004,
344 CLSCTX_INPROC_SERVER16 = 0x00000008,
345 CLSCTX_REMOTE_SERVER = 0x00000010,
346 CLSCTX_INPROC_HANDLER16 = 0x00000020,
347 CLSCTX_INPROC_SERVERX86 = 0x00000040,
348 CLSCTX_INPROC_HANDLERX86 = 0x00000080,
349 CLSCTX_ESERVER_HANDLER = 0x00000100,
350 CLSCTX_NO_CODE_DOWNLOAD = 0x00000400,
351 CLSCTX_NO_CUSTOM_MARSHAL = 0x00001000,
352 CLSCTX_ENABLE_CODE_DOWNLOAD = 0x00002000,
353 CLSCTX_NO_FAILURE_LOG = 0x00004000,
354 CLSCTX_DISABLE_AAA = 0x00008000,
355 CLSCTX_ENABLE_AAA = 0x00010000,
356 CLSCTX_FROM_DEFAULT_CONTEXT = 0x00020000,
357 CLSCTX_ACTIVATE_X86_SERVER = 0x00040000,
358 CLSCTX_ACTIVATE_32_BIT_SERVER = CLSCTX_ACTIVATE_X86_SERVER,
359 CLSCTX_ACTIVATE_64_BIT_SERVER = 0x00080000,
360 CLSCTX_ENABLE_CLOAKING = 0x00100000,
361 CLSCTX_APPCONTAINER = 0x00400000,
362 CLSCTX_ACTIVATE_AAA_AS_IU = 0x00800000,
363 CLSCTX_RESERVED6 = 0x01000000,
364 CLSCTX_ACTIVATE_ARM32_SERVER = 0x02000000,
365 CLSCTX_PS_DLL = 0x80000000,
368cpp_quote("#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)")
369cpp_quote("#define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
370cpp_quote("#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
372typedef enum tagMSHLFLAGS {
373 MSHLFLAGS_NORMAL = 0,
374 MSHLFLAGS_TABLESTRONG = 1,
375 MSHLFLAGS_TABLEWEAK = 2,
379typedef enum tagMSHCTX {
381 MSHCTX_NOSHAREDMEM = 1,
382 MSHCTX_DIFFERENTMACHINE = 2,
387/******************** BLOB TYPES ********************/
389typedef struct _BYTE_BLOB {
390 unsigned long clSize;
391 [size_is(clSize)] byte abData[];
393typedef [unique] BYTE_BLOB *UP_BYTE_BLOB;
395typedef struct _FLAGGED_BYTE_BLOB {
396 unsigned long fFlags;
397 unsigned long clSize;
398 [size_is(clSize)] byte abData[];
400typedef [unique] FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
402typedef struct _FLAGGED_WORD_BLOB {
403 unsigned long fFlags;
404 unsigned long clSize;
405 [size_is(clSize)] unsigned short asData[];
407typedef [unique] FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
409typedef struct _BYTE_SIZEDARR {
410 unsigned long clSize;
411 [size_is(clSize)] byte *pData;
414typedef struct _SHORT_SIZEDARR {
415 unsigned long clSize;
416 [size_is(clSize)] unsigned short *pData;
419typedef struct _LONG_SIZEDARR {
420 unsigned long clSize;
421 [size_is(clSize)] unsigned long *pData;
424typedef struct _HYPER_SIZEDARR {
425 unsigned long clSize;
426 [size_is(clSize)] hyper *pData;
429/******************** GDI TYPES ********************/
431const unsigned long WDT_INPROC_CALL = 0x48746457;
432const unsigned long WDT_REMOTE_CALL = 0x52746457;
433const unsigned long WDT_INPROC64_CALL = 0x50746457;
435typedef union _userCLIPFORMAT switch(long fContext) u {
436 case WDT_INPROC_CALL: DWORD dwValue;
437 case WDT_REMOTE_CALL: LPWSTR pwszName;
440typedef [unique] userCLIPFORMAT *wireCLIPFORMAT;
441typedef [wire_marshal(wireCLIPFORMAT)] WORD CLIPFORMAT;
443typedef struct tagRemHGLOBAL {
445 unsigned long cbData;
446 [size_is(cbData)] byte data[];
449typedef union _userHGLOBAL switch(long fContext) u {
450 case WDT_INPROC_CALL: long hInproc;
451 case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote;
452 case WDT_INPROC64_CALL: __int64 hInproc64;
455typedef [unique] userHGLOBAL *wireHGLOBAL;
457typedef struct tagRemHMETAFILEPICT {
461 unsigned long cbData;
462 [size_is(cbData)] byte data[];
465typedef union _userHMETAFILE switch(long fContext) u {
466 case WDT_INPROC_CALL: long hInproc;
467 case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
468 case WDT_INPROC64_CALL: __int64 hInproc64;
471typedef [unique] userHMETAFILE *wireHMETAFILE;
473typedef struct _remoteMETAFILEPICT {
480typedef union _userHMETAFILEPICT switch(long fContext) u {
481 case WDT_INPROC_CALL: long hInproc;
482 case WDT_REMOTE_CALL: remoteMETAFILEPICT *hRemote;
483 case WDT_INPROC64_CALL: __int64 hInproc64;
486typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT;
488typedef struct tagRemHENHMETAFILE {
489 unsigned long cbData;
490 [size_is(cbData)] byte data[];
493typedef union _userHENHMETAFILE switch(long fContext) u {
494 case WDT_INPROC_CALL: long hInproc;
495 case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
496 case WDT_INPROC64_CALL: __int64 hInproc64;
499typedef [unique] userHENHMETAFILE *wireHENHMETAFILE;
501typedef struct tagRemHBITMAP
503 unsigned long cbData;
504 [size_is(cbData)] byte data[];
507typedef struct _userBITMAP {
515 [size_is(cbSize)] byte pBuffer[];
518typedef union _userHBITMAP switch(long fContext) u {
519 case WDT_INPROC_CALL: long hInproc;
520 case WDT_REMOTE_CALL: userBITMAP *hRemote;
521 case WDT_INPROC64_CALL: __int64 hInproc64;
524typedef [unique] userHBITMAP *wireHBITMAP;
526typedef struct tagRemHPALETTE {
527 unsigned long cbData;
528 [size_is(cbData)] byte data[];
531typedef struct tagrpcLOGPALETTE {
534 [size_is(palNumEntries)] PALETTEENTRY palPalEntry[];
537typedef union _userHPALETTE switch(long fContext) u {
538 case WDT_INPROC_CALL: long hInproc;
539 case WDT_REMOTE_CALL: rpcLOGPALETTE *hRemote;
540 case WDT_INPROC64_CALL: __int64 hInproc64;
543typedef [unique] userHPALETTE *wireHPALETTE;
546DECLARE_WIREM_HANDLE(HGLOBAL);
547typedef HGLOBAL HLOCAL;
548DECLARE_WIREM_HANDLE(HBITMAP);
549DECLARE_WIREM_HANDLE(HPALETTE);
550DECLARE_WIREM_HANDLE(HENHMETAFILE);
551DECLARE_WIREM_HANDLE(HMETAFILE);
553DECLARE_WIREM_HANDLE(HMETAFILEPICT);
555typedef union _RemotableHandle switch (long fContext) u
557 case WDT_INPROC_CALL: long hInproc;
558 case WDT_REMOTE_CALL: long hRemote;
561typedef [unique] RemotableHandle *wireHACCEL;
562typedef [unique] RemotableHandle *wireHBRUSH;
563typedef [unique] RemotableHandle *wireHDC;
564typedef [unique] RemotableHandle *wireHFONT;
565typedef [unique] RemotableHandle *wireHICON;
566typedef [unique] RemotableHandle *wireHMENU;
567typedef [unique] RemotableHandle *wireHWND;
568typedef [unique] RemotableHandle *wireHMONITOR;
570cpp_quote("#if 0") /* for IDL only (C/C++ defs are in windef.h) */
571DECLARE_WIREM_HANDLE(HACCEL);
572DECLARE_WIREM_HANDLE(HBRUSH);
573DECLARE_WIREM_HANDLE(HDC);
574DECLARE_WIREM_HANDLE(HFONT);
575DECLARE_WIREM_HANDLE(HICON);
576DECLARE_WIREM_HANDLE(HMENU);
577DECLARE_WIREM_HANDLE(HWND);
578DECLARE_WIREM_HANDLE(HMONITOR);
580typedef HICON HCURSOR;
590} MSG, *PMSG, *NPMSG, *LPMSG;
594/******************** GUID TYPES ********************/
596cpp_quote("#if 0") /* for IDL only (C/C++ defs are in guiddef.h) */
597typedef GUID *REFGUID;
599typedef CLSID *REFCLSID;
600typedef FMTID *REFFMTID;
603/******************** MISC TYPES ********************/
605typedef enum tagDVASPECT {
606 DVASPECT_CONTENT = 1,
607 DVASPECT_THUMBNAIL = 2,
609 DVASPECT_DOCPRINT = 8
612typedef enum tagSTGC {
615 STGC_ONLYIFCURRENT = 2,
616 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
620typedef enum tagSTGMOVE {
623 STGMOVE_SHALLOWCOPY = 2
626typedef enum tagSTATFLAG {
627 STATFLAG_DEFAULT = 0,
632/******************** OLE Automation ********************/
634cpp_quote("#ifdef _MSC_VER") /* for IDL and MSVC only */
637cpp_quote("typedef double DECLSPEC_ALIGN(8) DATE;")
640cpp_quote("#if 0") /* for IDL only */
641typedef struct tagCY {
644cpp_quote("#else") /* C/C++ defs */
645cpp_quote("#ifndef _tagCY_DEFINED")
646cpp_quote("#define _tagCY_DEFINED")
647cpp_quote("typedef union tagCY {")
648cpp_quote(" struct {")
649cpp_quote(" ULONG Lo;")
650cpp_quote(" LONG Hi;")
651cpp_quote(" } DUMMYSTRUCTNAME;")
652cpp_quote(" LONGLONG int64;")
659cpp_quote("#if 0") /* for IDL only */
660typedef struct tagDEC {
667cpp_quote("#else") /* C/C++ defs */
668cpp_quote("typedef struct tagDEC {")
669cpp_quote(" USHORT wReserved;")
671cpp_quote(" struct {")
672cpp_quote(" BYTE scale;")
673cpp_quote(" BYTE sign;")
674cpp_quote(" } DUMMYSTRUCTNAME;")
675cpp_quote(" USHORT signscale;")
676cpp_quote(" } DUMMYUNIONNAME;")
677cpp_quote(" ULONG Hi32;")
679cpp_quote(" struct {")
680cpp_quote(" ULONG Lo32;")
681cpp_quote(" ULONG Mid32;")
682cpp_quote(" } DUMMYSTRUCTNAME1;")
683cpp_quote(" ULONGLONG Lo64;")
684cpp_quote(" } DUMMYUNIONNAME1;")
685cpp_quote("} DECIMAL;")
687cpp_quote("#define DECIMAL_NEG ((BYTE)0x80)")
688cpp_quote("#define DECIMAL_SETZERO(d) do{ memset(((char*)&(d)) + sizeof(USHORT), 0, sizeof(ULONG) * 3u + sizeof(USHORT)); }while (0)")
690typedef DECIMAL *LPDECIMAL;
692typedef [unique] FLAGGED_WORD_BLOB *wireBSTR;
693typedef [wire_marshal(wireBSTR)] OLECHAR *BSTR;
696typedef short VARIANT_BOOL;
697typedef VARIANT_BOOL _VARIANT_BOOL;
698cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)")
699cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)")
701typedef struct tagBSTRBLOB {
703 [size_is(cbSize)] BYTE *pData;
704} BSTRBLOB, *LPBSTRBLOB;
706cpp_quote("#ifndef _tagBLOB_DEFINED")
707cpp_quote("#define _tagBLOB_DEFINED")
708cpp_quote("#define _BLOB_DEFINED")
709cpp_quote("#define _LPBLOB_DEFINED")
710typedef struct tagBLOB {
712 [size_is(cbSize)] BYTE *pBlobData;
716typedef struct tagCLIPDATA {
719 [size_is(cbSize-sizeof(long))] BYTE *pClipData;
721cpp_quote("#define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))")
725/******************** VARTYPE ********************/
727typedef unsigned short VARTYPE;
767 VT_STREAMED_OBJECT = 68,
768 VT_STORED_OBJECT = 69,
772 VT_VERSIONED_STREAM= 73,
773 VT_BSTR_BLOB = 0x0fff,
777 VT_RESERVED = 0x8000,
779 VT_ILLEGALMASKED = 0x0fff,
783typedef struct tagCSPLATFORM
788 DWORD dwProcessorArch;
791typedef struct tagQUERYCONTEXT
800typedef [v1_enum] enum tagTYSPEC
811typedef union switch(DWORD tyspec)
817 case TYSPEC_MIMETYPE:
821 case TYSPEC_FILENAME:
823 case TYSPEC_PACKAGENAME:
826 LPOLESTR pPackageName;
829 case TYSPEC_OBJECTID:
837cpp_quote("#ifndef PROPERTYKEY_DEFINED")
838cpp_quote("#define PROPERTYKEY_DEFINED")
839typedef struct _tagpropertykey
846} /* interface IWinTypes */
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
coclass PSFactoryBuffer pointer_default(unique)] interface ObjectRpcBaseTypes
static const WCHAR version[]
struct IWinTypes::_RECTL * PRECTL
DECLARE_HANDLE(HINSTANCE)
struct IWinTypes::tagRECT * PRECT
struct IWinTypes::_SECURITY_DESCRIPTOR * PISECURITY_DESCRIPTOR
struct IWinTypes::tagSIZE * LPSIZE
struct IWinTypes::_ULARGE_INTEGER ULARGE_INTEGER
struct IWinTypes::tagPOINT POINT
struct IWinTypes::_SID_IDENTIFIER_AUTHORITY * PSID_IDENTIFIER_AUTHORITY
struct IWinTypes::_SECURITY_ATTRIBUTES * PSECURITY_ATTRIBUTES
USHORT * PSECURITY_DESCRIPTOR_CONTROL
struct IWinTypes::tagRECT RECT
struct IWinTypes::_SID * PISID
unsigned __int64 ULONGLONG
struct IWinTypes::_POINTL * PPOINTL
struct IWinTypes::_POINTL POINTL
struct IWinTypes::tagPOINT * LPPOINT
struct IWinTypes::_ACL ACL
struct IWinTypes::tagRECT * LPRECT
struct IWinTypes::_SID_IDENTIFIER_AUTHORITY SID_IDENTIFIER_AUTHORITY
struct IWinTypes::tagPOINT * PPOINT
struct IWinTypes::tagSIZE SIZE
struct IWinTypes::_SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
USHORT SECURITY_DESCRIPTOR_CONTROL
struct IWinTypes::_RECTL * LPRECTL
unsigned __int64 DWORDLONG
struct IWinTypes::_SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
struct IWinTypes::_LARGE_INTEGER LARGE_INTEGER
struct IWinTypes::_SID SID
struct IWinTypes::_RECTL RECTL
struct IWinTypes::tagSIZE * PSIZE
struct IWinTypes::_SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
unsigned __int3264 UINT_PTR
LPVOID lpSecurityDescriptor
SECURITY_DESCRIPTOR_CONTROL Control
SID_IDENTIFIER_AUTHORITY IdentifierAuthority
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value