⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objidl.h

📁 winNT技术操作系统,国外开放的原代码和LIUX一样
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -