extern "C" {
#endif
-#ifdef NONAMELESSUNION
-#define DEC_SIGN(d) ((d)->DUMMYUNIONNAME.DUMMYSTRUCTNAME.sign)
-#define DEC_SCALE(d) ((d)->DUMMYUNIONNAME.DUMMYSTRUCTNAME.scale)
-#define DEC_SIGNSCALE(d) ((d)->DUMMYUNIONNAME.signscale)
-#define DEC_MID32(d) ((d)->DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.Mid32)
-#define DEC_LO32(d) ((d)->DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.Lo32)
-#define DEC_LO64(d) ((d)->DUMMYUNIONNAME2.Lo64)
-#else
-#define DEC_SIGN(d) ((d)->sign)
-#define DEC_SCALE(d) ((d)->scale)
-#define DEC_SIGNSCALE(d) ((d)->signscale)
-#define DEC_MID32(d) ((d)->Mid32)
-#define DEC_LO32(d) ((d)->Lo32)
-#define DEC_LO64(d) ((d)->Lo64)
-#endif
-#define DEC_HI32(d) ((d)->Hi32)
-
#define IID_NULL GUID_NULL
#define CLSID_NULL GUID_NULL
#define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
CLSCTX_INPROC_SERVER16=8,CLSCTX_REMOTE_SERVER=16
} CLSCTX;
typedef enum tagMSHLFLAGS {
- MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK
+ MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK,MSHLFLAGS_NOPING
} MSHLFLAGS;
typedef struct _FLAGGED_WORD_BLOB {
unsigned long fFlags;
typedef double DOUBLE;
typedef struct tagDEC {
USHORT wReserved;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
+ union {
+ struct {
BYTE scale;
BYTE sign;
- }_STRUCT_NAME(s);
+ };
USHORT signscale;
- } DUMMYUNIONNAME;
+ };
ULONG Hi32;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
+ union {
+ struct {
ULONG Lo32;
ULONG Mid32;
- }_STRUCT_NAME(s2);
+ };
ULONGLONG Lo64;
- } DUMMYUNIONNAME2;
+ };
} DECIMAL;
typedef void *HMETAFILEPICT;
+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 struct {
+ DWORD tyspec;
+ union {
+ CLSID clsid;
+ LPOLESTR pFileExt;
+ LPOLESTR pMimeType;
+ LPOLESTR pProgId;
+ LPOLESTR pFileName;
+ struct {
+ LPOLESTR pPackageName;
+ GUID PolicyId;
+ } ByName;
+ struct {
+ GUID ObjectId;
+ GUID PolicyId;
+ } ByObjectId;
+ } tagged_union;
+} uCLSSPEC;
#ifdef __cplusplus
}
#endif