📄 objidl.h
字号:
#ifndef _OBJIDL_H#define _OBJIDL_H#if __GNUC__ >= 3#pragma GCC system_header#endif#include <objfwd.h>typedef struct tagSTATSTG { LPOLESTR pwcsName; DWORD type; ULARGE_INTEGER cbSize; FILETIME mtime; FILETIME ctime; FILETIME atime; DWORD grfMode; DWORD grfLocksSupported; CLSID clsid; DWORD grfStateBits; DWORD reserved;} STATSTG;typedef enum tagSTGTY { STGTY_STORAGE=1, STGTY_STREAM, STGTY_LOCKBYTES, STGTY_PROPERTY} STGTY;typedef enum tagSTREAM_SEEK { STREAM_SEEK_SET, STREAM_SEEK_CUR, STREAM_SEEK_END} STREAM_SEEK;typedef struct tagINTERFACEINFO { LPUNKNOWN pUnk; IID iid; WORD wMethod;} INTERFACEINFO,*LPINTERFACEINFO;typedef enum tagCALLTYPE { CALLTYPE_TOPLEVEL=1, CALLTYPE_NESTED, CALLTYPE_ASYNC, CALLTYPE_TOPLEVEL_CALLPENDING, CALLTYPE_ASYNC_CALLPENDING} CALLTYPE;typedef enum tagPENDINGTYPE { PENDINGTYPE_TOPLEVEL=1, PENDINGTYPE_NESTED} PENDINGTYPE;typedef enum tagPENDINGMSG { PENDINGMSG_CANCELCALL=0, PENDINGMSG_WAITNOPROCESS, PENDINGMSG_WAITDEFPROCESS} PENDINGMSG;typedef OLECHAR **SNB;typedef enum tagDATADIR { DATADIR_GET=1, DATADIR_SET} DATADIR;typedef WORD CLIPFORMAT,*LPCLIPFORMAT;typedef struct tagDVTARGETDEVICE { DWORD tdSize; WORD tdDriverNameOffset; WORD tdDeviceNameOffset; WORD tdPortNameOffset; WORD tdExtDevmodeOffset; BYTE tdData[1];} DVTARGETDEVICE;typedef struct tagFORMATETC { CLIPFORMAT cfFormat; DVTARGETDEVICE*ptd; DWORD dwAspect; LONG lindex; DWORD tymed;} FORMATETC,*LPFORMATETC;typedef struct tagRemSTGMEDIUM { DWORD tymed; DWORD dwHandleType; ULONG pData; unsigned long pUnkForRelease; unsigned long cbData; BYTE data[1];} RemSTGMEDIUM;typedef struct tagHLITEM { ULONG uHLID; LPWSTR pwzFriendlyName;} HLITEM;typedef struct tagSTATDATA { FORMATETC formatetc; DWORD grfAdvf; struct IAdviseSink *pAdvSink; DWORD dwConnection;} STATDATA;typedef struct tagSTATPROPSETSTG { FMTID fmtid; CLSID clsid; DWORD grfFlags; FILETIME mtime; FILETIME ctime; FILETIME atime;} STATPROPSETSTG;typedef enum tagEXTCONN { EXTCONN_STRONG=1, EXTCONN_WEAK=2, EXTCONN_CALLABLE=4} EXTCONN;typedef struct tagMULTI_QI { const IID *pIID; IUnknown *pItf; HRESULT hr;} MULTI_QI;typedef struct _AUTH_IDENTITY { USHORT *User; ULONG UserLength; USHORT *Domain; ULONG DomainLength; USHORT *Password; ULONG PasswordLength; ULONG Flags;} AUTH_IDENTITY;typedef struct _COAUTHINFO{ DWORD dwAuthnSvc; DWORD dwAuthzSvc; LPWSTR pwszServerPrincName; DWORD dwAuthnLevel; DWORD dwImpersonationLevel; AUTH_IDENTITY *pAuthIdentityData; DWORD dwCapabilities;} COAUTHINFO;typedef struct _COSERVERINFO { DWORD dwReserved1; LPWSTR pwszName; COAUTHINFO *pAuthInfo; DWORD dwReserved2;} COSERVERINFO;typedef struct tagBIND_OPTS { DWORD cbStruct; DWORD grfFlags; DWORD grfMode; DWORD dwTickCountDeadline;} BIND_OPTS,*LPBIND_OPTS;typedef struct tagBIND_OPTS2 { DWORD cbStruct; DWORD grfFlags; DWORD grfMode; DWORD dwTickCountDeadline; DWORD dwTrackFlags; DWORD dwClassContext; LCID locale; COSERVERINFO *pServerInfo;} BIND_OPTS2,*LPBIND_OPTS2;typedef enum tagBIND_FLAGS { BIND_MAYBOTHERUSER=1, BIND_JUSTTESTEXISTENCE} BIND_FLAGS;typedef struct tagSTGMEDIUM { DWORD tymed; _ANONYMOUS_UNION union { HBITMAP hBitmap; PVOID hMetaFilePict; HENHMETAFILE hEnhMetaFile; HGLOBAL hGlobal; LPWSTR lpszFileName; LPSTREAM pstm; LPSTORAGE pstg; } DUMMYUNIONNAME; LPUNKNOWN pUnkForRelease;} STGMEDIUM,*LPSTGMEDIUM;typedef enum tagLOCKTYPE { LOCK_WRITE=1, LOCK_EXCLUSIVE=2, LOCK_ONLYONCE=4} LOCKTYPE;typedef unsigned long RPCOLEDATAREP;typedef struct tagRPCOLEMESSAGE { PVOID reserved1; RPCOLEDATAREP dataRepresentation; PVOID Buffer; ULONG cbBuffer; ULONG iMethod; PVOID reserved2[5]; ULONG rpcFlags;} RPCOLEMESSAGE, *PRPCOLEMESSAGE;typedef enum tagMKSYS { MKSYS_NONE, MKSYS_GENERICCOMPOSITE, MKSYS_FILEMONIKER, MKSYS_ANTIMONIKER, MKSYS_ITEMMONIKER, MKSYS_POINTERMONIKER} MKSYS;typedef enum tagMKREDUCE { MKRREDUCE_ALL, MKRREDUCE_ONE=196608, MKRREDUCE_TOUSER=131072, MKRREDUCE_THROUGHUSER=65536} MKRREDUCE;typedef struct tagRemSNB { unsigned long ulCntStr; unsigned long ulCntChar; OLECHAR rgString[1];} RemSNB;typedef enum tagADVF { ADVF_NODATA=1,ADVF_PRIMEFIRST=2,ADVF_ONLYONCE=4,ADVF_DATAONSTOP=64, ADVFCACHE_NOHANDLER=8,ADVFCACHE_FORCEBUILTIN=16,ADVFCACHE_ONSAVE=32} ADVF;typedef enum tagTYMED { TYMED_HGLOBAL=1,TYMED_FILE=2,TYMED_ISTREAM=4,TYMED_ISTORAGE=8, TYMED_GDI=16,TYMED_MFPICT=32,TYMED_ENHMF=64,TYMED_NULL=0} TYMED;typedef enum tagSERVERCALL { SERVERCALL_ISHANDLED,SERVERCALL_REJECTED,SERVERCALL_RETRYLATER} SERVERCALL;typedef struct tagCAUB { ULONG cElems; unsigned char *pElems;}CAUB;typedef struct tagCAI { ULONG cElems; short *pElems;}CAI;typedef struct tagCAUI { ULONG cElems; USHORT *pElems;}CAUI;typedef struct tagCAL { ULONG cElems; long *pElems;}CAL;typedef struct tagCAUL { ULONG cElems; ULONG *pElems;}CAUL;typedef struct tagCAFLT { ULONG cElems; float *pElems;}CAFLT;typedef struct tagCADBL { ULONG cElems; double *pElems;}CADBL;typedef struct tagCACY { ULONG cElems; CY *pElems;}CACY;typedef struct tagCADATE { ULONG cElems; DATE *pElems;}CADATE;typedef struct tagCABSTR { ULONG cElems; BSTR *pElems;}CABSTR;typedef struct tagCABSTRBLOB { ULONG cElems; BSTRBLOB *pElems;}CABSTRBLOB;typedef struct tagCABOOL { ULONG cElems; VARIANT_BOOL *pElems;}CABOOL;typedef struct tagCASCODE { ULONG cElems; SCODE *pElems;}CASCODE;typedef struct tagCAH { ULONG cElems; LARGE_INTEGER *pElems;}CAH;typedef struct tagCAUH { ULONG cElems; ULARGE_INTEGER *pElems;}CAUH;typedef struct tagCALPSTR { ULONG cElems; LPSTR *pElems;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -