📄 objidl.h
字号:
#ifndef __WINE_OBJIDL_H
#define __WINE_OBJIDL_H
#include <unknwn.h>
/* First part: objidl.h copied from w32api. Fixed:
* IMarshal::MarshalInteface
* IMarshal::UnmarshalInterface
* IStorage_CreateStorage
* IRpcStubBuffer_Invoke
* Added:
* COBJMACROS for IClassActivator
*/
#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 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;
DWORD dwOSVersion;
} 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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -