1 | /**
|
---|
2 | * This file is part of the mingw-w64 runtime package.
|
---|
3 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
4 | */
|
---|
5 | #include <winapifamily.h>
|
---|
6 |
|
---|
7 | #include <rpc.h>
|
---|
8 | #include <rpcndr.h>
|
---|
9 |
|
---|
10 | #ifndef _OBJBASE_H_
|
---|
11 | #define _OBJBASE_H_
|
---|
12 |
|
---|
13 | #include <pshpack8.h>
|
---|
14 | #include <combaseapi.h>
|
---|
15 |
|
---|
16 | typedef enum tagCOINIT {
|
---|
17 | COINIT_APARTMENTTHREADED = 0x2,
|
---|
18 | COINIT_MULTITHREADED = COINITBASE_MULTITHREADED,
|
---|
19 | COINIT_DISABLE_OLE1DDE = 0x4,
|
---|
20 | COINIT_SPEED_OVER_MEMORY = 0x8
|
---|
21 | } COINIT;
|
---|
22 |
|
---|
23 | #define MARSHALINTERFACE_MIN 500
|
---|
24 | #define CWCSTORAGENAME 32
|
---|
25 |
|
---|
26 | #define STGM_DIRECT __MSABI_LONG(0x00000000)
|
---|
27 | #define STGM_TRANSACTED __MSABI_LONG(0x00010000)
|
---|
28 | #define STGM_SIMPLE __MSABI_LONG(0x08000000)
|
---|
29 |
|
---|
30 | #define STGM_READ __MSABI_LONG(0x00000000)
|
---|
31 | #define STGM_WRITE __MSABI_LONG(0x00000001)
|
---|
32 | #define STGM_READWRITE __MSABI_LONG(0x00000002)
|
---|
33 |
|
---|
34 | #define STGM_SHARE_DENY_NONE __MSABI_LONG(0x00000040)
|
---|
35 | #define STGM_SHARE_DENY_READ __MSABI_LONG(0x00000030)
|
---|
36 | #define STGM_SHARE_DENY_WRITE __MSABI_LONG(0x00000020)
|
---|
37 | #define STGM_SHARE_EXCLUSIVE __MSABI_LONG(0x00000010)
|
---|
38 |
|
---|
39 | #define STGM_PRIORITY __MSABI_LONG(0x00040000)
|
---|
40 | #define STGM_DELETEONRELEASE __MSABI_LONG(0x04000000)
|
---|
41 | #define STGM_NOSCRATCH __MSABI_LONG(0x00100000)
|
---|
42 | #define STGM_CREATE __MSABI_LONG(0x00001000)
|
---|
43 | #define STGM_CONVERT __MSABI_LONG(0x00020000)
|
---|
44 | #define STGM_FAILIFTHERE __MSABI_LONG(0x00000000)
|
---|
45 | #define STGM_NOSNAPSHOT __MSABI_LONG(0x00200000)
|
---|
46 | #define STGM_DIRECT_SWMR __MSABI_LONG(0x00400000)
|
---|
47 |
|
---|
48 | #define ASYNC_MODE_COMPATIBILITY __MSABI_LONG(0x00000001)
|
---|
49 | #define ASYNC_MODE_DEFAULT __MSABI_LONG(0x00000000)
|
---|
50 |
|
---|
51 | #define STGTY_REPEAT __MSABI_LONG(0x00000100)
|
---|
52 | #define STG_TOEND __MSABI_LONG(0xffffffff)
|
---|
53 |
|
---|
54 | #define STG_LAYOUT_SEQUENTIAL __MSABI_LONG(0x00000000)
|
---|
55 | #define STG_LAYOUT_INTERLEAVED __MSABI_LONG(0x00000001)
|
---|
56 |
|
---|
57 | typedef DWORD STGFMT;
|
---|
58 |
|
---|
59 | #define STGFMT_STORAGE 0
|
---|
60 | #define STGFMT_NATIVE 1
|
---|
61 | #define STGFMT_FILE 3
|
---|
62 | #define STGFMT_ANY 4
|
---|
63 | #define STGFMT_DOCFILE 5
|
---|
64 | #define STGFMT_DOCUMENT 0
|
---|
65 |
|
---|
66 | #include <objidl.h>
|
---|
67 |
|
---|
68 | #ifdef _OLE32_
|
---|
69 | #ifdef _OLE32PRIV_
|
---|
70 | WINBOOL _fastcall wIsEqualGUID (REFGUID rguid1, REFGUID rguid2);
|
---|
71 |
|
---|
72 | #define IsEqualGUID(rguid1, rguid2) wIsEqualGUID (rguid1, rguid2)
|
---|
73 | #else
|
---|
74 | #define __INLINE_ISEQUAL_GUID
|
---|
75 | #endif
|
---|
76 | #endif
|
---|
77 |
|
---|
78 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
|
---|
79 | WINOLEAPI_(DWORD) CoBuildVersion (VOID);
|
---|
80 | WINOLEAPI CoInitialize (LPVOID pvReserved);
|
---|
81 | WINOLEAPI CoRegisterMallocSpy (LPMALLOCSPY pMallocSpy);
|
---|
82 | WINOLEAPI CoRevokeMallocSpy (void);
|
---|
83 | WINOLEAPI CoCreateStandardMalloc (DWORD memctx, IMalloc **ppMalloc);
|
---|
84 | WINOLEAPI CoRegisterInitializeSpy (LPINITIALIZESPY pSpy, ULARGE_INTEGER *puliCookie);
|
---|
85 | WINOLEAPI CoRevokeInitializeSpy (ULARGE_INTEGER uliCookie);
|
---|
86 |
|
---|
87 | typedef enum tagCOMSD {
|
---|
88 | SD_LAUNCHPERMISSIONS = 0,
|
---|
89 | SD_ACCESSPERMISSIONS = 1,
|
---|
90 | SD_LAUNCHRESTRICTIONS = 2,
|
---|
91 | SD_ACCESSRESTRICTIONS = 3
|
---|
92 | } COMSD;
|
---|
93 |
|
---|
94 | WINOLEAPI CoGetSystemSecurityPermissions (COMSD comSDType, PSECURITY_DESCRIPTOR *ppSD);
|
---|
95 | WINOLEAPI_(HINSTANCE) CoLoadLibrary (LPOLESTR lpszLibName, WINBOOL bAutoFree);
|
---|
96 | WINOLEAPI_(void) CoFreeLibrary (HINSTANCE hInst);
|
---|
97 | WINOLEAPI_(void) CoFreeAllLibraries (void);
|
---|
98 | WINOLEAPI CoGetInstanceFromFile (COSERVERINFO *pServerInfo, CLSID *pClsid, IUnknown *punkOuter, DWORD dwClsCtx, DWORD grfMode, OLECHAR *pwszName, DWORD dwCount, MULTI_QI *pResults);
|
---|
99 | WINOLEAPI CoGetInstanceFromIStorage (COSERVERINFO *pServerInfo, CLSID *pClsid, IUnknown *punkOuter, DWORD dwClsCtx, struct IStorage *pstg, DWORD dwCount, MULTI_QI *pResults);
|
---|
100 | WINOLEAPI CoAllowSetForegroundWindow (IUnknown *pUnk, LPVOID lpvReserved);
|
---|
101 | WINOLEAPI DcomChannelSetHResult (LPVOID pvReserved, ULONG *pulReserved, HRESULT appsHR);
|
---|
102 | WINOLEAPI_(WINBOOL) CoIsOle1Class (REFCLSID rclsid);
|
---|
103 | WINOLEAPI CLSIDFromProgIDEx (LPCOLESTR lpszProgID, LPCLSID lpclsid);
|
---|
104 | WINOLEAPI_(WINBOOL) CoFileTimeToDosDateTime (FILETIME *lpFileTime, LPWORD lpDosDate, LPWORD lpDosTime);
|
---|
105 | WINOLEAPI_(WINBOOL) CoDosDateTimeToFileTime (WORD nDosDate, WORD nDosTime, FILETIME *lpFileTime);
|
---|
106 | WINOLEAPI CoFileTimeNow (FILETIME *lpFileTime);
|
---|
107 | WINOLEAPI CoRegisterMessageFilter (LPMESSAGEFILTER lpMessageFilter, LPMESSAGEFILTER *lplpMessageFilter);
|
---|
108 | WINOLEAPI CoRegisterChannelHook (REFGUID ExtensionUuid, IChannelHook *pChannelHook);
|
---|
109 | WINOLEAPI CoTreatAsClass (REFCLSID clsidOld, REFCLSID clsidNew);
|
---|
110 | WINOLEAPI CreateDataAdviseHolder (LPDATAADVISEHOLDER *ppDAHolder);
|
---|
111 | WINOLEAPI CreateDataCache (LPUNKNOWN pUnkOuter, REFCLSID rclsid, REFIID iid, LPVOID *ppv);
|
---|
112 | WINOLEAPI StgOpenLayoutDocfile (OLECHAR const *pwcsDfName, DWORD grfMode, DWORD reserved, IStorage **ppstgOpen);
|
---|
113 | #endif
|
---|
114 |
|
---|
115 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
|
---|
116 | WINOLEAPI StgCreateDocfile (const WCHAR *pwcsName, DWORD grfMode, DWORD reserved, IStorage **ppstgOpen);
|
---|
117 | WINOLEAPI StgCreateDocfileOnILockBytes (ILockBytes *plkbyt, DWORD grfMode, DWORD reserved, IStorage **ppstgOpen);
|
---|
118 | WINOLEAPI StgOpenStorage (const WCHAR *pwcsName, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstgOpen);
|
---|
119 | WINOLEAPI StgOpenStorageOnILockBytes (ILockBytes *plkbyt, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstgOpen);
|
---|
120 | WINOLEAPI StgIsStorageFile (const WCHAR *pwcsName);
|
---|
121 | WINOLEAPI StgIsStorageILockBytes (ILockBytes *plkbyt);
|
---|
122 | WINOLEAPI StgSetTimes (const WCHAR *lpszName, const FILETIME *pctime, const FILETIME *patime, const FILETIME *pmtime);
|
---|
123 | WINOLEAPI StgOpenAsyncDocfileOnIFillLockBytes (IFillLockBytes *pflb, DWORD grfMode, DWORD asyncFlags, IStorage **ppstgOpen);
|
---|
124 | WINOLEAPI StgGetIFillLockBytesOnILockBytes (ILockBytes *pilb, IFillLockBytes **ppflb);
|
---|
125 | WINOLEAPI StgGetIFillLockBytesOnFile (OLECHAR const *pwcsName, IFillLockBytes **ppflb);
|
---|
126 | #endif
|
---|
127 |
|
---|
128 | #define STGOPTIONS_VERSION 2
|
---|
129 |
|
---|
130 | typedef struct tagSTGOPTIONS {
|
---|
131 | USHORT usVersion;
|
---|
132 | USHORT reserved;
|
---|
133 | ULONG ulSectorSize;
|
---|
134 | #if STGOPTIONS_VERSION >= 2
|
---|
135 | const WCHAR *pwcsTemplateFile;
|
---|
136 | #endif
|
---|
137 | } STGOPTIONS;
|
---|
138 |
|
---|
139 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
|
---|
140 | WINOLEAPI StgCreateStorageEx (const WCHAR *pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS *pStgOptions, PSECURITY_DESCRIPTOR pSecurityDescriptor, REFIID riid, void **ppObjectOpen);
|
---|
141 | WINOLEAPI StgOpenStorageEx (const WCHAR *pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS *pStgOptions, PSECURITY_DESCRIPTOR pSecurityDescriptor, REFIID riid, void **ppObjectOpen);
|
---|
142 | WINOLEAPI BindMoniker (LPMONIKER pmk, DWORD grfOpt, REFIID iidResult, LPVOID *ppvResult);
|
---|
143 | WINOLEAPI CoGetObject (LPCWSTR pszName, BIND_OPTS *pBindOptions, REFIID riid, void **ppv);
|
---|
144 | WINOLEAPI MkParseDisplayName (LPBC pbc, LPCOLESTR szUserName, ULONG *pchEaten, LPMONIKER *ppmk);
|
---|
145 | WINOLEAPI MonikerRelativePathTo (LPMONIKER pmkSrc, LPMONIKER pmkDest, LPMONIKER *ppmkRelPath, WINBOOL dwReserved);
|
---|
146 | WINOLEAPI MonikerCommonPrefixWith (LPMONIKER pmkThis, LPMONIKER pmkOther, LPMONIKER *ppmkCommon);
|
---|
147 | WINOLEAPI CreateBindCtx (DWORD reserved, LPBC *ppbc);
|
---|
148 | WINOLEAPI CreateGenericComposite (LPMONIKER pmkFirst, LPMONIKER pmkRest, LPMONIKER *ppmkComposite);
|
---|
149 | WINOLEAPI GetClassFile (LPCOLESTR szFilename, CLSID *pclsid);
|
---|
150 | WINOLEAPI CreateClassMoniker (REFCLSID rclsid, LPMONIKER *ppmk);
|
---|
151 | WINOLEAPI CreateFileMoniker (LPCOLESTR lpszPathName, LPMONIKER *ppmk);
|
---|
152 | WINOLEAPI CreateItemMoniker (LPCOLESTR lpszDelim, LPCOLESTR lpszItem, LPMONIKER *ppmk);
|
---|
153 | WINOLEAPI CreateAntiMoniker (LPMONIKER *ppmk);
|
---|
154 | WINOLEAPI CreatePointerMoniker (LPUNKNOWN punk, LPMONIKER *ppmk);
|
---|
155 | WINOLEAPI CreateObjrefMoniker (LPUNKNOWN punk, LPMONIKER *ppmk);
|
---|
156 | #endif
|
---|
157 |
|
---|
158 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
|
---|
159 | WINOLEAPI CoInstall (IBindCtx *pbc, DWORD dwFlags, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, LPWSTR pszCodeBase);
|
---|
160 | WINOLEAPI GetRunningObjectTable (DWORD reserved, LPRUNNINGOBJECTTABLE *pprot);
|
---|
161 | #endif
|
---|
162 |
|
---|
163 | #include <urlmon.h>
|
---|
164 | #include <propidl.h>
|
---|
165 |
|
---|
166 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
|
---|
167 | WINOLEAPI CreateStdProgressIndicator (HWND hwndParent, LPCOLESTR pszTitle, IBindStatusCallback *pIbscCaller, IBindStatusCallback **ppIbsc);
|
---|
168 | #endif
|
---|
169 |
|
---|
170 | #ifndef RC_INVOKED
|
---|
171 | #include <poppack.h>
|
---|
172 | #endif
|
---|
173 | #endif
|
---|