📄 wtypes.h
字号:
} TEXTMETRICW;
#endif //0
#ifndef _WIN32 // The following code is for Win16 only
#ifndef WINAPI // If not included with 3.1 headers...
typedef struct tagMSG
{
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
typedef struct tagMSG __RPC_FAR *PMSG;
typedef struct tagMSG __RPC_FAR *NPMSG;
typedef struct tagMSG __RPC_FAR *LPMSG;
#endif // _WIN32
#endif // WINAPI
typedef /* [unique] */ userHBITMAP __RPC_FAR *wireHBITMAP;
typedef /* [unique] */ userHPALETTE __RPC_FAR *wireHPALETTE;
typedef /* [unique] */ userHENHMETAFILE __RPC_FAR *wireHENHMETAFILE;
typedef /* [unique] */ userHMETAFILE __RPC_FAR *wireHMETAFILE;
typedef /* [unique] */ userHMETAFILEPICT __RPC_FAR *wireHMETAFILEPICT;
#if 0
typedef /* [wire_marshal] */ void __RPC_FAR *HGLOBAL;
typedef HGLOBAL HLOCAL;
typedef /* [wire_marshal] */ void __RPC_FAR *HBITMAP;
typedef /* [wire_marshal] */ void __RPC_FAR *HPALETTE;
typedef /* [wire_marshal] */ void __RPC_FAR *HENHMETAFILE;
typedef /* [wire_marshal] */ void __RPC_FAR *HMETAFILE;
#endif //0
typedef /* [wire_marshal] */ void __RPC_FAR *HMETAFILEPICT;
extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
#endif /* __IWinTypes_INTERFACE_DEFINED__ */
/****************************************
* Generated header for interface: __MIDL_itf_wtypes_0001
* at Thu Sep 11 10:57:03 1997
* using MIDL 3.03.0110
****************************************/
/* [local] */
#if ( _MSC_VER >= 800 )
#pragma warning(disable:4201)
#endif
typedef double DATE;
#ifndef _tagCY_DEFINED
#define _tagCY_DEFINED
#define _CY_DEFINED
#if 0
/* the following isn't the real definition of CY, but it is */
/* what RPC knows how to remote */
typedef struct tagCY
{
LONGLONG int64;
} CY;
#else /* 0 */
/* real definition that makes the C++ compiler happy */
typedef union tagCY {
struct {
#ifdef _MAC
long Hi;
long Lo;
#else
unsigned long Lo;
long Hi;
#endif
};
LONGLONG int64;
} CY;
#endif /* 0 */
#endif /* _tagCY_DEFINED */
typedef CY __RPC_FAR *LPCY;
#if 0 /* _tagDEC_DEFINED */
/* The following isn't the real definition of Decimal type, */
/* but it is what RPC knows how to remote */
typedef struct tagDEC
{
USHORT wReserved;
BYTE scale;
BYTE sign;
ULONG Hi32;
ULONGLONG Lo64;
} DECIMAL;
#else /* _tagDEC_DEFINED */
/* real definition that makes the C++ compiler happy */
typedef struct tagDEC {
USHORT wReserved;
union {
struct {
BYTE scale;
BYTE sign;
};
USHORT signscale;
};
ULONG Hi32;
union {
struct {
#ifdef _MAC
ULONG Mid32;
ULONG Lo32;
#else
ULONG Lo32;
ULONG Mid32;
#endif
};
ULONGLONG Lo64;
};
} DECIMAL;
#define DECIMAL_NEG ((BYTE)0x80)
#define DECIMAL_SETZERO(dec) \
{(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;}
#endif /* _tagDEC_DEFINED */
typedef DECIMAL __RPC_FAR *LPDECIMAL;
#if ( _MSC_VER >= 800 )
#pragma warning(default:4201)
#endif
typedef /* [unique] */ FLAGGED_WORD_BLOB __RPC_FAR *wireBSTR;
typedef /* [wire_marshal] */ OLECHAR __RPC_FAR *BSTR;
typedef BSTR __RPC_FAR *LPBSTR;
/* 0 == FALSE, -1 == TRUE */
typedef short VARIANT_BOOL;
#if !__STDC__ && (_MSC_VER <= 1000)
/* For backward compatibility */
typedef VARIANT_BOOL _VARIANT_BOOL;
#else
/* ANSI C/C++ reserve bool as keyword */
#define _VARIANT_BOOL /##/
#endif
typedef boolean BOOLEAN;
/* The BSTRBLOB structure is used by some implementations */
/* of the IPropertyStorage interface when marshaling BSTRs */
/* on systems which don't support BSTR marshaling. */
#ifndef _tagBSTRBLOB_DEFINED
#define _tagBSTRBLOB_DEFINED
typedef struct tagBSTRBLOB
{
ULONG cbSize;
/* [size_is] */ BYTE __RPC_FAR *pData;
} BSTRBLOB;
typedef struct tagBSTRBLOB __RPC_FAR *LPBSTRBLOB;
#endif
#define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
#define VARIANT_FALSE ((VARIANT_BOOL)0)
#ifndef _tagBLOB_DEFINED
#define _tagBLOB_DEFINED
#define _BLOB_DEFINED
#define _LPBLOB_DEFINED
typedef struct tagBLOB
{
ULONG cbSize;
/* [size_is] */ BYTE __RPC_FAR *pBlobData;
} BLOB;
typedef struct tagBLOB __RPC_FAR *LPBLOB;
#endif
typedef struct tagCLIPDATA
{
ULONG cbSize;
long ulClipFmt;
/* [size_is] */ BYTE __RPC_FAR *pClipData;
} CLIPDATA;
// Macro to calculate the size of the above pClipData
#define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
typedef unsigned short VARTYPE;
/*
* VARENUM usage key,
*
* * [V] - may appear in a VARIANT
* * [T] - may appear in a TYPEDESC
* * [P] - may appear in an OLE property set
* * [S] - may appear in a Safe Array
*
*
* VT_EMPTY [V] [P] nothing
* VT_NULL [V] [P] SQL style Null
* VT_I2 [V][T][P][S] 2 byte signed int
* VT_I4 [V][T][P][S] 4 byte signed int
* VT_R4 [V][T][P][S] 4 byte real
* VT_R8 [V][T][P][S] 8 byte real
* VT_CY [V][T][P][S] currency
* VT_DATE [V][T][P][S] date
* VT_BSTR [V][T][P][S] OLE Automation string
* VT_DISPATCH [V][T][P][S] IDispatch *
* VT_ERROR [V][T][P][S] SCODE
* VT_BOOL [V][T][P][S] True=-1, False=0
* VT_VARIANT [V][T][P][S] VARIANT *
* VT_UNKNOWN [V][T] [S] IUnknown *
* VT_DECIMAL [V][T] [S] 16 byte fixed point
* VT_RECORD [V] [P][S] user defined type
* VT_I1 [V][T][P][s] signed char
* VT_UI1 [V][T][P][S] unsigned char
* VT_UI2 [V][T][P][S] unsigned short
* VT_UI4 [V][T][P][S] unsigned short
* VT_I8 [T][P] signed 64-bit int
* VT_UI8 [T][P] unsigned 64-bit int
* VT_INT [V][T][P][S] signed machine int
* VT_UINT [V][T] [S] unsigned machine int
* VT_VOID [T] C style void
* VT_HRESULT [T] Standard return type
* VT_PTR [T] pointer type
* VT_SAFEARRAY [T] (use VT_ARRAY in VARIANT)
* VT_CARRAY [T] C style array
* VT_USERDEFINED [T] user defined type
* VT_LPSTR [T][P] null terminated string
* VT_LPWSTR [T][P] wide null terminated string
* VT_FILETIME [P] FILETIME
* VT_BLOB [P] Length prefixed bytes
* VT_STREAM [P] Name of the stream follows
* VT_STORAGE [P] Name of the storage follows
* VT_STREAMED_OBJECT [P] Stream contains an object
* VT_STORED_OBJECT [P] Storage contains an object
* VT_BLOB_OBJECT [P] Blob contains an object
* VT_CF [P] Clipboard format
* VT_CLSID [P] A Class ID
* VT_VECTOR [P] simple counted array
* VT_ARRAY [V] SAFEARRAY*
* VT_BYREF [V] void* for local use
* VT_BSTR_BLOB Reserved for system use
*/
enum VARENUM
{ VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_RECORD = 36,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_BSTR_BLOB = 0xfff,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000,
VT_RESERVED = 0x8000,
VT_ILLEGAL = 0xffff,
VT_ILLEGALMASKED = 0xfff,
VT_TYPEMASK = 0xfff
};
typedef ULONG PROPID;
#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED
#define SID_IDENTIFIER_AUTHORITY_DEFINED
typedef struct _SID_IDENTIFIER_AUTHORITY
{
UCHAR Value[ 6 ];
} SID_IDENTIFIER_AUTHORITY;
typedef struct _SID_IDENTIFIER_AUTHORITY __RPC_FAR *PSID_IDENTIFIER_AUTHORITY;
#endif
#ifndef SID_DEFINED
#define SID_DEFINED
typedef struct _SID
{
UCHAR Revision;
UCHAR SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
/* [size_is] */ ULONG SubAuthority[ 1 ];
} SID;
typedef struct _SID __RPC_FAR *PISID;
#endif
typedef GUID APPID;
typedef struct tagCSPLATFORM
{
DWORD dwPlatformId;
DWORD dwVersionHi;
DWORD dwVersionLo;
DWORD dwProcessorArch;
} CSPLATFORM;
typedef struct tagQUERYCONTEXT
{
DWORD dwContext;
CSPLATFORM Platform;
LCID Locale;
DWORD dwVersionHi;
DWORD dwVersionLo;
} QUERYCONTEXT;
typedef /* [v1_enum] */
enum tagTYSPEC
{ TYSPEC_CLSID = 0,
TYSPEC_FILEEXT = TYSPEC_CLSID + 1,
TYSPEC_MIMETYPE = TYSPEC_FILEEXT + 1,
TYSPEC_PROGID = TYSPEC_MIMETYPE + 1,
TYSPEC_IID = TYSPEC_PROGID + 1,
TYSPEC_TYPELIB = TYSPEC_IID + 1,
TYSPEC_FILENAME = TYSPEC_TYPELIB + 1,
TYSPEC_JAVACLASS = TYSPEC_FILENAME + 1,
TYSPEC_PACKAGENAME = TYSPEC_JAVACLASS + 1
} TYSPEC;
typedef /* [public] */ struct __MIDL___MIDL_itf_wtypes_0001_0001
{
DWORD tyspec;
/* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_wtypes_0001_0003
{
/* [case()] */ CLSID clsid;
/* [case()] */ IID iid;
/* [case()] */ GUID typelibID;
/* [case()] */ LPOLESTR pFileExt;
/* [case()] */ LPOLESTR pMimeType;
/* [case()] */ LPOLESTR pProgId;
/* [case()] */ LPOLESTR pFileName;
/* [case()] */ LPOLESTR pJavaClassName;
/* [case()] */ LPOLESTR pPackageName;
} tagged_union;
} uCLSSPEC;
typedef struct _PUBLISHEDAPPINFO
{
LPOLESTR pwszFileExtension;
LPOLESTR pwszDisplayName;
LPOLESTR pwszPackagePath;
} PUBLISHEDAPPINFO;
typedef /* [v1_enum] */
enum tagAPPINFOTYPE
{ APPINFO_PUBLISHED = 1,
APPINFO_SHELLNEW = APPINFO_PUBLISHED + 1,
APPINFO_INSERTABLE = APPINFO_SHELLNEW + 1
} APPINFOTYPE;
#define ACTFLG_RunLocally ( 1 )
#define ACTFLG_RunOnce ( 2 )
#define ACTFLG_SystemWide ( 4 )
#define ACTFLG_Published ( 8 )
#define ACTFLG_Assigned ( 16 )
#define ACTFLG_UserInstall ( 32 )
typedef /* [v1_enum] */
enum _CLASSPATHTYPE
{ ExeNamePath = 0,
DllNamePath = ExeNamePath + 1,
TlbNamePath = DllNamePath + 1,
CabFilePath = TlbNamePath + 1,
InfFilePath = CabFilePath + 1,
DrwFilePath = InfFilePath + 1,
SetupNamePath = DrwFilePath + 1
} CLASSPATHTYPE;
typedef struct tagAPPDETAIL
{
GUID AppID;
DWORD cClasses;
/* [size_is] */ CLSID __RPC_FAR *prgClsIdList;
DWORD cTypeLibIds;
/* [size_is] */ CLSID __RPC_FAR *prgTypeLibIdList;
DWORD cServers;
/* [size_is] */ LPOLESTR __RPC_FAR *prgServerNames;
} APPDETAIL;
typedef struct tagPACKAGEDETAIL
{
CLASSPATHTYPE PathType;
LPOLESTR pszPath;
LPOLESTR pszIconPath;
LPOLESTR pszSetupCommand;
DWORD dwActFlags;
LPOLESTR pszVendor;
LPOLESTR pszPackageName;
LPOLESTR pszProductName;
DWORD dwContext;
CSPLATFORM Platform;
LCID Locale;
DWORD dwVersionHi;
DWORD dwVersionLo;
ULONGLONG Usn;
DWORD cApps;
/* [size_is] */ APPDETAIL __RPC_FAR *pAppDetail;
} PACKAGEDETAIL;
typedef struct tagPACKAGEINFO
{
LPOLESTR pszClassIconPath;
CLSID __RPC_FAR *pTreatAsClsid;
DWORD cPackages;
/* [size_is] */ PACKAGEDETAIL __RPC_FAR *pPackageDetail;
} PACKAGEINFO;
extern RPC_IF_HANDLE __MIDL_itf_wtypes_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wtypes_0001_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -