📄 oaidl.h
字号:
CY cyVal;
DATE date;
BSTR bstrVal;
IUnknown __RPC_FAR *punkVal;
IDispatch __RPC_FAR *pdispVal;
SAFEARRAY __RPC_FAR *parray;
BYTE __RPC_FAR *pbVal;
SHORT __RPC_FAR *piVal;
LONG __RPC_FAR *plVal;
FLOAT __RPC_FAR *pfltVal;
DOUBLE __RPC_FAR *pdblVal;
VARIANT_BOOL __RPC_FAR *pboolVal;
_VARIANT_BOOL __RPC_FAR *pbool;
SCODE __RPC_FAR *pscode;
CY __RPC_FAR *pcyVal;
DATE __RPC_FAR *pdate;
BSTR __RPC_FAR *pbstrVal;
IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
IDispatch __RPC_FAR *__RPC_FAR *ppdispVal;
SAFEARRAY __RPC_FAR *__RPC_FAR *pparray;
VARIANT __RPC_FAR *pvarVal;
PVOID byref;
CHAR cVal;
USHORT uiVal;
ULONG ulVal;
INT intVal;
UINT uintVal;
DECIMAL __RPC_FAR *pdecVal;
CHAR __RPC_FAR *pcVal;
USHORT __RPC_FAR *puiVal;
ULONG __RPC_FAR *pulVal;
INT __RPC_FAR *pintVal;
UINT __RPC_FAR *puintVal;
struct __tagBRECORD
{
PVOID pvRecord;
IRecordInfo __RPC_FAR *pRecInfo;
} __VARIANT_NAME_4;
} __VARIANT_NAME_3;
} __VARIANT_NAME_2;
DECIMAL decVal;
} __VARIANT_NAME_1;
};
typedef VARIANT __RPC_FAR *LPVARIANT;
typedef VARIANT VARIANTARG;
typedef VARIANT __RPC_FAR *LPVARIANTARG;
/* the following is what MIDL knows how to remote */
struct _wireBRECORD
{
ULONG fFlags;
ULONG clSize;
IRecordInfo __RPC_FAR *pRecInfo;
/* [size_is] */ byte __RPC_FAR *pRecord;
};
struct _wireVARIANT
{
DWORD clSize;
DWORD rpcReserved;
USHORT vt;
USHORT wReserved1;
USHORT wReserved2;
USHORT wReserved3;
/* [switch_is][switch_type] */ union
{
/* [case()] */ LONG lVal;
/* [case()] */ BYTE bVal;
/* [case()] */ SHORT iVal;
/* [case()] */ FLOAT fltVal;
/* [case()] */ DOUBLE dblVal;
/* [case()] */ VARIANT_BOOL boolVal;
/* [case()] */ SCODE scode;
/* [case()] */ CY cyVal;
/* [case()] */ DATE date;
/* [case()] */ wireBSTR bstrVal;
/* [case()] */ IUnknown __RPC_FAR *punkVal;
/* [case()] */ IDispatch __RPC_FAR *pdispVal;
/* [case()] */ wireSAFEARRAY parray;
/* [case()] */ wireBRECORD brecVal;
/* [case()] */ BYTE __RPC_FAR *pbVal;
/* [case()] */ SHORT __RPC_FAR *piVal;
/* [case()] */ LONG __RPC_FAR *plVal;
/* [case()] */ FLOAT __RPC_FAR *pfltVal;
/* [case()] */ DOUBLE __RPC_FAR *pdblVal;
/* [case()] */ VARIANT_BOOL __RPC_FAR *pboolVal;
/* [case()] */ SCODE __RPC_FAR *pscode;
/* [case()] */ CY __RPC_FAR *pcyVal;
/* [case()] */ DATE __RPC_FAR *pdate;
/* [case()] */ wireBSTR __RPC_FAR *pbstrVal;
/* [case()] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
/* [case()] */ IDispatch __RPC_FAR *__RPC_FAR *ppdispVal;
/* [case()] */ wireSAFEARRAY __RPC_FAR *pparray;
/* [case()] */ wireVARIANT __RPC_FAR *pvarVal;
/* [case()] */ CHAR cVal;
/* [case()] */ USHORT uiVal;
/* [case()] */ ULONG ulVal;
/* [case()] */ INT intVal;
/* [case()] */ UINT uintVal;
/* [case()] */ DECIMAL decVal;
/* [case()] */ DECIMAL __RPC_FAR *pdecVal;
/* [case()] */ CHAR __RPC_FAR *pcVal;
/* [case()] */ USHORT __RPC_FAR *puiVal;
/* [case()] */ ULONG __RPC_FAR *pulVal;
/* [case()] */ INT __RPC_FAR *pintVal;
/* [case()] */ UINT __RPC_FAR *puintVal;
/* [case()] */ /* Empty union arm */
/* [case()] */ /* Empty union arm */
} ;
};
typedef LONG DISPID;
typedef DISPID MEMBERID;
typedef DWORD HREFTYPE;
typedef /* [v1_enum] */
enum tagTYPEKIND
{ TKIND_ENUM = 0,
TKIND_RECORD = TKIND_ENUM + 1,
TKIND_MODULE = TKIND_RECORD + 1,
TKIND_INTERFACE = TKIND_MODULE + 1,
TKIND_DISPATCH = TKIND_INTERFACE + 1,
TKIND_COCLASS = TKIND_DISPATCH + 1,
TKIND_ALIAS = TKIND_COCLASS + 1,
TKIND_UNION = TKIND_ALIAS + 1,
TKIND_MAX = TKIND_UNION + 1
} TYPEKIND;
typedef struct tagTYPEDESC
{
/* [switch_is][switch_type] */ union
{
/* [case()] */ struct tagTYPEDESC __RPC_FAR *lptdesc;
/* [case()] */ struct tagARRAYDESC __RPC_FAR *lpadesc;
/* [case()] */ HREFTYPE hreftype;
/* [default] */ /* Empty union arm */
} ;
VARTYPE vt;
} TYPEDESC;
typedef struct tagARRAYDESC
{
TYPEDESC tdescElem;
USHORT cDims;
/* [size_is] */ SAFEARRAYBOUND rgbounds[ 1 ];
} ARRAYDESC;
typedef struct tagPARAMDESCEX
{
ULONG cBytes;
VARIANTARG varDefaultValue;
} PARAMDESCEX;
typedef struct tagPARAMDESCEX __RPC_FAR *LPPARAMDESCEX;
typedef struct tagPARAMDESC
{
LPPARAMDESCEX pparamdescex;
USHORT wParamFlags;
} PARAMDESC;
typedef struct tagPARAMDESC __RPC_FAR *LPPARAMDESC;
#define PARAMFLAG_NONE ( 0 )
#define PARAMFLAG_FIN ( 0x1 )
#define PARAMFLAG_FOUT ( 0x2 )
#define PARAMFLAG_FLCID ( 0x4 )
#define PARAMFLAG_FRETVAL ( 0x8 )
#define PARAMFLAG_FOPT ( 0x10 )
#define PARAMFLAG_FHASDEFAULT ( 0x20 )
#define PARAMFLAG_FHASCUSTDATA ( 0x40 )
typedef struct tagIDLDESC
{
ULONG dwReserved;
USHORT wIDLFlags;
} IDLDESC;
typedef struct tagIDLDESC __RPC_FAR *LPIDLDESC;
#define IDLFLAG_NONE ( PARAMFLAG_NONE )
#define IDLFLAG_FIN ( PARAMFLAG_FIN )
#define IDLFLAG_FOUT ( PARAMFLAG_FOUT )
#define IDLFLAG_FLCID ( PARAMFLAG_FLCID )
#define IDLFLAG_FRETVAL ( PARAMFLAG_FRETVAL )
#if 0
/* the following is what MIDL knows how to remote */
typedef struct tagELEMDESC
{
TYPEDESC tdesc;
PARAMDESC paramdesc;
} ELEMDESC;
#else /* 0 */
typedef struct tagELEMDESC {
TYPEDESC tdesc; /* the type of the element */
union {
IDLDESC idldesc; /* info for remoting the element */
PARAMDESC paramdesc; /* info about the parameter */
};
} ELEMDESC, * LPELEMDESC;
#endif /* 0 */
typedef struct tagTYPEATTR
{
GUID guid;
LCID lcid;
DWORD dwReserved;
MEMBERID memidConstructor;
MEMBERID memidDestructor;
LPOLESTR lpstrSchema;
ULONG cbSizeInstance;
TYPEKIND typekind;
WORD cFuncs;
WORD cVars;
WORD cImplTypes;
WORD cbSizeVft;
WORD cbAlignment;
WORD wTypeFlags;
WORD wMajorVerNum;
WORD wMinorVerNum;
TYPEDESC tdescAlias;
IDLDESC idldescType;
} TYPEATTR;
typedef struct tagTYPEATTR __RPC_FAR *LPTYPEATTR;
typedef struct tagDISPPARAMS
{
/* [size_is] */ VARIANTARG __RPC_FAR *rgvarg;
/* [size_is] */ DISPID __RPC_FAR *rgdispidNamedArgs;
UINT cArgs;
UINT cNamedArgs;
} DISPPARAMS;
#if 0
/* the following is what MIDL knows how to remote */
typedef struct tagEXCEPINFO
{
WORD wCode;
WORD wReserved;
BSTR bstrSource;
BSTR bstrDescription;
BSTR bstrHelpFile;
DWORD dwHelpContext;
ULONG pvReserved;
ULONG pfnDeferredFillIn;
SCODE scode;
} EXCEPINFO;
#else /* 0 */
typedef struct tagEXCEPINFO {
WORD wCode;
WORD wReserved;
BSTR bstrSource;
BSTR bstrDescription;
BSTR bstrHelpFile;
DWORD dwHelpContext;
PVOID pvReserved;
HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
SCODE scode;
} EXCEPINFO, * LPEXCEPINFO;
#endif /* 0 */
typedef /* [v1_enum] */
enum tagCALLCONV
{ CC_FASTCALL = 0,
CC_CDECL = 1,
CC_MSCPASCAL = CC_CDECL + 1,
CC_PASCAL = CC_MSCPASCAL,
CC_MACPASCAL = CC_PASCAL + 1,
CC_STDCALL = CC_MACPASCAL + 1,
CC_FPFASTCALL = CC_STDCALL + 1,
CC_SYSCALL = CC_FPFASTCALL + 1,
CC_MPWCDECL = CC_SYSCALL + 1,
CC_MPWPASCAL = CC_MPWCDECL + 1,
CC_MAX = CC_MPWPASCAL + 1
} CALLCONV;
typedef /* [v1_enum] */
enum tagFUNCKIND
{ FUNC_VIRTUAL = 0,
FUNC_PUREVIRTUAL = FUNC_VIRTUAL + 1,
FUNC_NONVIRTUAL = FUNC_PUREVIRTUAL + 1,
FUNC_STATIC = FUNC_NONVIRTUAL + 1,
FUNC_DISPATCH = FUNC_STATIC + 1
} FUNCKIND;
typedef /* [v1_enum] */
enum tagINVOKEKIND
{ INVOKE_FUNC = 1,
INVOKE_PROPERTYGET = 2,
INVOKE_PROPERTYPUT = 4,
INVOKE_PROPERTYPUTREF = 8
} INVOKEKIND;
typedef struct tagFUNCDESC
{
MEMBERID memid;
/* [size_is] */ SCODE __RPC_FAR *lprgscode;
/* [size_is] */ ELEMDESC __RPC_FAR *lprgelemdescParam;
FUNCKIND funckind;
INVOKEKIND invkind;
CALLCONV callconv;
SHORT cParams;
SHORT cParamsOpt;
SHORT oVft;
SHORT cScodes;
ELEMDESC elemdescFunc;
WORD wFuncFlags;
} FUNCDESC;
typedef struct tagFUNCDESC __RPC_FAR *LPFUNCDESC;
typedef /* [v1_enum] */
enum tagVARKIND
{ VAR_PERINSTANCE = 0,
VAR_STATIC = VAR_PERINSTANCE + 1,
VAR_CONST = VAR_STATIC + 1,
VAR_DISPATCH = VAR_CONST + 1
} VARKIND;
#define IMPLTYPEFLAG_FDEFAULT ( 0x1 )
#define IMPLTYPEFLAG_FSOURCE ( 0x2 )
#define IMPLTYPEFLAG_FRESTRICTED ( 0x4 )
#define IMPLTYPEFLAG_FDEFAULTVTABLE ( 0x8 )
typedef struct tagVARDESC
{
MEMBERID memid;
LPOLESTR lpstrSchema;
/* [switch_is][switch_type] */ union
{
/* [case()] */ ULONG oInst;
/* [case()] */ VARIANT __RPC_FAR *lpvarValue;
} ;
ELEMDESC elemdescVar;
WORD wVarFlags;
VARKIND varkind;
} VARDESC;
typedef struct tagVARDESC __RPC_FAR *LPVARDESC;
typedef
enum tagTYPEFLAGS
{ TYPEFLAG_FAPPOBJECT = 0x1,
TYPEFLAG_FCANCREATE = 0x2,
TYPEFLAG_FLICENSED = 0x4,
TYPEFLAG_FPREDECLID = 0x8,
TYPEFLAG_FHIDDEN = 0x10,
TYPEFLAG_FCONTROL = 0x20,
TYPEFLAG_FDUAL = 0x40,
TYPEFLAG_FNONEXTENSIBLE = 0x80,
TYPEFLAG_FOLEAUTOMATION = 0x100,
TYPEFLAG_FRESTRICTED = 0x200,
TYPEFLAG_FAGGREGATABLE = 0x400,
TYPEFLAG_FREPLACEABLE = 0x800,
TYPEFLAG_FDISPATCHABLE = 0x1000,
TYPEFLAG_FREVERSEBIND = 0x2000
} TYPEFLAGS;
typedef
enum tagFUNCFLAGS
{ FUNCFLAG_FRESTRICTED = 0x1,
FUNCFLAG_FSOURCE = 0x2,
FUNCFLAG_FBINDABLE = 0x4,
FUNCFLAG_FREQUESTEDIT = 0x8,
FUNCFLAG_FDISPLAYBIND = 0x10,
FUNCFLAG_FDEFAULTBIND = 0x20,
FUNCFLAG_FHIDDEN = 0x40,
FUNCFLAG_FUSESGETLASTERROR = 0x80,
FUNCFLAG_FDEFAULTCOLLELEM = 0x100,
FUNCFLAG_FUIDEFAULT = 0x200,
FUNCFLAG_FNONBROWSABLE = 0x400,
FUNCFLAG_FREPLACEABLE = 0x800,
FUNCFLAG_FIMMEDIATEBIND = 0x1000
} FUNCFLAGS;
typedef
enum tagVARFLAGS
{ VARFLAG_FREADONLY = 0x1,
VARFLAG_FSOURCE = 0x2,
VARFLAG_FBINDABLE = 0x4,
VARFLAG_FREQUESTEDIT = 0x8,
VARFLAG_FDISPLAYBIND = 0x10,
VARFLAG_FDEFAULTBIND = 0x20,
VARFLAG_FHIDDEN = 0x40,
VARFLAG_FRESTRICTED = 0x80,
VARFLAG_FDEFAULTCOLLELEM = 0x100,
VARFLAG_FUIDEFAULT = 0x200,
VARFLAG_FNONBROWSABLE = 0x400,
VARFLAG_FREPLACEABLE = 0x800,
VARFLAG_FIMMEDIATEBIND = 0x1000
} VARFLAGS;
typedef /* [wire_marshal] */ struct tagCLEANLOCALSTORAGE
{
IUnknown __RPC_FAR *pInterface;
PVOID pStorage;
DWORD flags;
} CLEANLOCALSTORAGE;
typedef struct tagCUSTDATAITEM
{
GUID guid;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -