extern "C" {
#endif
-#define DEC_SIGN(d) ((d)->u.s.sign)
-#define DEC_SCALE(d) ((d)->u.s.scale)
-#define DEC_SIGNSCALE(d) ((d)->u.signscale)
-#define DEC_HI32(d) ((d)->Hi32)
-#define DEC_MID32(d) ((d)->DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.Mid32)
-#define DEC_LO32(d) ((d)->DUMMYUNIONNAME2.DUMMYSTRUCTNAME2.Lo32)
-#define DEC_LO64(d) ((d)->DUMMYUNIONNAME2.Lo64)
-
#define IID_NULL GUID_NULL
#define CLSID_NULL GUID_NULL
#define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
#define DECIMAL_NEG ((BYTE)0x80)
-#define DECIMAL_SETZERO(d) {DEC_LO64(d)=DEC_HI32(d)=DEC_SIGNSCALE(d)=0;}
+#define DECIMAL_SETZERO(d) {DEC_LO64(&d)=DEC_HI32(&d)=DEC_SIGNSCALE(&d)=0;}
#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x01
#define ROTFLAGS_ALLOWANYCLIENT 0x02
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