source: Include/objbase.sbp @ 170

Last change on this file since 170 was 170, checked in by イグトランス (egtra), 16 years ago

winnt.ab, windef.ab, guiddef.abを導入

File size: 22.7 KB
Line 
1' objbase.sbp
2
3
4#ifndef _INC_OBJBASE
5#define _INC_OBJBASE
6
7Type CSPLATFORM 'wtypes.sbp
8    dwPlatformId As DWord
9    dwVersionHi As DWord
10    dwVersionLo As DWord
11    dwProcessorArch As DWord
12End Type
13
14Type QUERYCONTEXT 'wtypes.sbp
15    dwContext As DWord
16    latform As CSPLATFORM
17    Locale As LCID
18    dwVersionHi As DWord
19    dwVersionLo As DWord
20End Type
21
22TypeDef RPC_AUTH_IDENTITY_HANDLE = VoidPtr 'Declared in Rpcdce.sbp; include Rpc.sbp.
23TypeDef RPC_AUTHZ_HANDLE = VoidPtr 'Declared in Rpcdce.sbp; include Rpc.sbp.
24
25Sub LISet32(ByRef li As LARGE_INTEGER, v As Long)
26    With li
27        If v < 0 Then
28            .HighPart = -1
29        Else
30            .HighPart = 0
31        End If
32        .LowPart = v
33    End With
34End Sub
35Sub ULISet32(ByRef li As ULARGE_INTEGER, v As DWord)
36    With li
37        .HighPart = 0
38        .LowPart = v
39    End With
40End Sub
41
42Const MARSHALINTERFACE_MIN = 500
43
44Const CWCSTORAGENAME = 32
45
46/* Storage instantiation modes */
47Const STGM_DIRECT             = &h00000000
48Const STGM_TRANSACTED         = &h00010000
49Const STGM_SIMPLE             = &h08000000
50
51Const STGM_READ               = &h00000000
52Const STGM_WRITE              = &h00000001
53Const STGM_READWRITE          = &h00000002
54
55Const STGM_SHARE_DENY_NONE    = &h00000040
56Const STGM_SHARE_DENY_READ    = &h00000030
57Const STGM_SHARE_DENY_WRITE   = &h00000020
58Const STGM_SHARE_EXCLUSIVE    = &h00000010
59
60Const STGM_PRIORITY           = &h00040000
61Const STGM_DELETEONRELEASE    = &h04000000
62'#if (WINVER >= 400)
63Const STGM_NOSCRATCH          = &h00100000
64'#endif /* WINVER */
65
66Const STGM_CREATE             = &h00001000
67Const STGM_CONVERT            = &h00020000
68Const STGM_FAILIFTHERE        = &h00000000
69
70Const STGM_NOSNAPSHOT         = &h00200000
71'#if (_WIN32_WINNT >= 0x0500)
72Const STGM_DIRECT_SWMR        = &h00400000
73'#endif
74
75/*  flags for internet asyncronous and layout docfile */
76Const ASYNC_MODE_COMPATIBILITY    = &h00000001
77Const ASYNC_MODE_DEFAULT          = &h00000000
78
79Const STGTY_REPEAT                = &h00000100
80Const STG_TOEND                   = &hFFFFFFFF
81
82Const STG_LAYOUT_SEQUENTIAL       = &h00000000
83Const STG_LAYOUT_INTERLEAVED      = &h00000001
84
85Const STGFMT_STORAGE          = 0
86Const STGFMT_NATIVE           = 1
87Const STGFMT_FILE             = 3
88Const STGFMT_ANY              = 4
89Const STGFMT_DOCFILE          = 5
90
91Const STGFMT_DOCUMENT = 0
92
93'/* here is where we pull in the MIDL generated headers for the interfaces */
94'typedef interface    IRpcStubBuffer     IRpcStubBuffer;
95'typedef interface    IRpcChannelBuffer  IRpcChannelBuffer;
96
97#include <unknwn.sbp>
98#include <objidl.sbp>
99
100'-------------------
101' IStream Interface
102'-------------------
103
104Const CLSCTX_INPROC_SERVER     = &H01
105Const CLSCTX_INPROC_HANDLER    = &H02
106Const CLSCTX_LOCAL_SERVER      = &H4
107Const CLSCTX_INPROC_SERVER16   = &H8
108Const CLSCTX_REMOTE_SERVER     = &H10
109Const CLSCTX_INPROC_HANDLER16  = &H20
110Const CLSCTX_INPROC_SERVERX86  = &H40
111Const CLSCTX_INPROC_HANDLERX86 = &H80
112Const CLSCTX_ESERVER_HANDLER   = &H100
113
114Const CLSCTX_INPROC = CLSCTX_INPROC_SERVER or CLSCTX_INPROC_HANDLER
115Const CLSCTX_ALL    = CLSCTX_INPROC_SERVER or CLSCTX_INPROC_HANDLER or CLSCTX_LOCAL_SERVER or CLSCTX_REMOTE_SERVER
116Const CLSCTX_SERVER = CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER or CLSCTX_REMOTE_SERVER
117
118Const Enum REGCLS
119    REGCLS_SINGLEUSE = 0
120    REGCLS_MULTIPLEUSE = 1
121    REGCLS_MULTI_SEPARATE = 2
122    REGCLS_SUSPENDED = 4
123    REGCLS_SURROGATE = 8
124End Enum
125
126Type COAUTHIDENTITY
127    User As *Word
128    UserLength As DWord
129    Domain As *Word
130    DomainLength As DWord
131    Password As *Word
132    PasswordLength As DWord
133    Flags As DWord
134End Type
135Type COAUTHINFO
136    dwAuthnSvc As DWord
137    dwAuthzSvc As DWord
138    pwszServerPrincName As PWSTR
139    dwAuthnLevel As DWord
140    dwImpersonationLevel As DWord
141    pAuthIdentityData As *COAUTHIDENTITY
142    dwCapabilities As DWord
143End Type
144Type COSERVERINFO
145    dwReserved1 As DWord
146    pwszName As PWSTR
147    pAuthInfo As *COAUTHINFO
148    dwReserved2 As DWord
149End Type
150Declare Function CoInitialize Lib "ole32" (pvReserved As VoidPtr) As HRESULT
151Declare Sub CoUninitialize Lib "ole32" ()
152'Declare Sub CoGetMalloc Lib "ole32" (dwMemContext As DWord, ByRef pMalloc As *IMalloc) As HRESULT
153Declare Function CoGetCurrentProcess Lib "ole32" () As DWord
154'Declare Function CoRegisterMallocSpy Lib "ole32" (pMallocSpy As *IMallocSpy) As HRESULT
155Declare Function CoRevokeMallocSpy Lib "ole32" () As HRESULT
156'Declare Function CoCreateStandardMalloc Lib "ole32" (memctx As DWord, ByRef pMalloc As *IMalloc) As HRESULT
157
158
159'#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)
160#ifdef _WIN32_DCOM
161Const Enum COINIT
162    COINIT_MULTITHREADED     = = &h0
163    COINIT_APARTMENTTHREADED = = &h2
164    COINIT_DISABLE_OLE1DDE   = = &h4
165    COINIT_SPEED_OVER_MEMORY = = &h8
166End Enum
167Declare Function CoInitializeEx Lib "ole32" (pvReserved As VoidPtr, dwCoInit As DWord) As HRESULT
168Declare Function CoGetCallerTID Lib "ole32" (ByRef dwTID AS DWord) As HRESULT
169#endif
170
171#ifdef __UNDECLARED__
172'#if (_WIN32_WINNT >= 0x0501)
173' 注意:このcokkieは本来ULARGE_INTEGER型
174'Declare Function CoRegisterInitializeSpy Lib "ole32" (pSpy As *IInitializeSpy, ByRef uliCokkie As QWord) As HRESULT
175Declare Function CoRevokeInitializeSpy Lib "ole32" (uliCookie As QWord) As HRESULT
176
177Declare Function CoGetContextToken Lib "ole32" (ByRef token As ULONG_PTR) As HRESULT
178
179Const Enum COMSD
180    SD_LAUNCHPERMISSIONS = 0
181    SD_ACCESSPERMISSIONS = 1
182    SD_LAUNCHRESTRICTIONS = 2
183    SD_ACCESSRESTRICTIONS = 3
184End Enum
185'Declare Function CoGetSystemSecurityPermissions(comSDType As COMSD, ByRef ppSD As *SECURITY_DESCRIPTOR) As HRESULT
186#endif
187
188'#if DBG == 1
189'Declare Function DebugCoGetRpcFault Lib "" () As DWord
190'Declare Sub DebugCoSetRpcFault Lib "" (ul As DWord)
191'#endif
192
193'#if (_WIN32_WINNT >= 0x0500)
194
195Type SOleTlsDataPublic
196    pvReserved0[ELM(2)] As VoidPtr
197    dwReserved0[ELM(3)] As DWord
198    pvReserved1[ELM(1)] As VoidPtr
199    dwReserved1[ELM(3)] As DWord
200    pvReserved2[ELM(4)] As VoidPtr
201    dwReserved2[ELM(1)] As DWord
202    pCurrentCtx As VoidPtr
203End Type
204
205'#endif
206
207/* COM+ APIs */
208
209Declare Function CoGetObjectContext Lib "ole32" (ByRef riid As IID, ByRef ppv As Any) As HRESULT
210
211/* register/revoke/get class objects */
212
213Declare Function CoGetClassObject Lib "ole32" (ByRef rclsid As CLSID, dwClsContext As DWord, pServerInfo As *COSERVERINFO, ByRef refiid As IID, ByRef ppv As Any) As HRESULT
214Declare Function CoRegisterClassObject Lib "ole32" (ByRef rclsid As CLSID, pUnk As *IUnknown, dwClsContext As DWord, flags As DWord, ByRef dwRegister As DWord) As HRESULT
215Declare Function CoRevokeClassObject Lib "ole32" (dwRegister As DWord) As HRESULT
216Declare Function CoResumeClassObjects Lib "ole32" () As HRESULT
217Declare Function CoSuspendClassObjects Lib "ole32" () As HRESULT
218Declare Function CoAddRefServerProcess Lib "ole32" () As DWord
219Declare Function CoReleaseServerProcess Lib "ole32" () As DWord
220Declare Function CoGetPSClsid Lib "ole32" (ByRef riid As IID, ByRef rclsid As CLSID) As HRESULT
221Declare Function CoRegisterPSClsid Lib "ole32" (ByRef riid As IID, ByRef rclsid As CLSID) As HRESULT
222
223/* Registering surrogate processes */
224'Declare Function CoRegisterSurrogate Lib "ole32" (pSurrogate As *ISurrogate) As HRESULT
225
226/* marshaling interface pointers */
227
228Declare Function CoGetMarshalSizeMax Lib "ole32" (ByRef ulSize As DWord, ByRef riid As IID, pUnk As *IUnknown, dwDestContext As DWord, pvDestContext As VoidPtr, mshlflags As DWord) As HRESULT
229Declare Function CoMarshalInterface Lib "ole32" (pStm As *IStream, ByRef riid As IID, pUnk As *IUnknown, dwDestContext As DWord, pvDestContext As VoidPtr, mshlflags As DWord) As HRESULT
230Declare Function CoUnmarshalInterface Lib "ole32" (pstm As *IStream, ByRef riid As IID, ByRef ppv As Any) As HRESULT
231Declare Function CoMarshalHresult Lib "ole32" (pstm As *IStream, hresult As HRESULT) As HRESULT
232Declare Function CoUnmarshalHresult Lib "ole32" (pstm As *IStream, ByRef phresult As HRESULT) As HRESULT
233Declare Function CoReleaseMarshalData Lib "ole32" (pstm As *IStream) As HRESULT
234Declare Function CoDisconnectObject Lib "ole32" (pUnk As *IUnknown, dwReserved As DWord) As HRESULT
235Declare Function CoLockObjectExternal Lib "ole32" (pUnk As *IUnknown, fLock As BOOL, fLastUnlockReleases As BOOL) As HRESULT
236'Declare Function CoGetStandardMarshal Lib "ole32" (ByRef riid As IID, pUnk As *IUnknown, dwDestContext As DWord, pvDestContext As VoidPtr, mshlflags As DWord, ByRef pMarshal As *IMarshal) As HRESULT
237
238Declare Function CoGetStdMarshalEx Lib "ole32" (pUnkOuter As *IUnknown, smexflags As DWord, ByRef pUnkInner As *IUnknown) As HRESULT
239
240/* flags for CoGetStdMarshalEx */
241Const Enum STDMSHLFLAGS
242    SMEXF_SERVER  = &h01
243    SMEXF_HANDLER = &h02
244End Enum
245
246Declare Function CoIsHandlerConnected Lib "ole32" (pUnk As *IUnknown) As BOOL
247
248/* Apartment model inter-thread interface passing helpers */
249Declare Function CoMarshalInterThreadInterfaceInStream Lib "ole32" (ByRef riid As IID, pUnk As *IUnknown, ByRef pStm As *IStream) As HRESULT
250
251Declare Function CoGetInterfaceAndReleaseStream Lib "ole32" (pStm As *IStream, ByRef riid As IID, ByRef ppv As Any) As HRESULT
252Declare Function CoCreateFreeThreadedMarshaler Lib "ole32" (punkOuter As *IUnknown, ByRef punkMarshal As *IUnknown) As HRESULT
253
254/* dll loading helpers; keeps track of ref counts and unloads all on exit */
255
256Declare Function CoLoadLibrary Lib "ole32" (lpszLibName As LPOLESTR, bAutoFree As BOOL) As HINSTANCE
257Declare Sub CoFreeLibrary Lib "ole32" (hInst As HINSTANCE)
258Declare Sub CoFreeAllLibraries Lib "ole32" ()
259Declare Sub CoFreeUnusedLibraries Lib "ole32" ()
260'#if  (_WIN32_WINNT >= 0x0501)
261Declare Sub CoFreeUnusedLibrariesEx Lib "ole32" (dwUnloadDelay As DWord, dwReserved As DWord)
262'#endif
263
264'#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 'DCOM
265#ifdef _WIN32_DCOM
266
267/* Call Security. */
268
269Declare Function CoInitializeSecurity Lib "ole32" (
270    ByVal pSecDesc As *SECURITY_DESCRIPTOR,
271    ByVal cAuthSvc As *SOLE_AUTHENTICATION_SERVICE,
272    ByVal pReserved1 As VoidPtr,
273    ByVal dwAuthnLevel As DWord,
274    ByVal dwImpLevel As DWord,
275    ByVal pAuthList As VoidPtr,
276    ByVal dwCapabilities As DWord
277    ByVal pReserved3 As VoidPtr) As HRESULT
278Declare Function CoGetCallContext Lib "ole32" (
279    ByRef riid As IID,
280    ByRef pInterface As Any) As HRESULT
281Declare Function CoQueryProxyBlanket Lib "ole32" (
282    ByVal pProxy As *IUnknown,
283    ByRef AuthnSvc As DWord,
284    ByVal pAuthzSvc As *DWord,
285    ByVal pServerPrincName As **OLECHAR,
286    ByVal pAuthnLevel As *DWord,
287    ByVal pImpLevel As *DWord,
288    ByVal pAuthInfo As *RPC_AUTH_IDENTITY_HANDLE
289    ByVal pCapabilites As *DWord) As HRESULT
290Declare Function CoSetProxyBlanket Lib "ole32" (
291    ByVal pProxy As *IUnknown,
292    ByVal dwAuthnSvc As DWord,
293    ByVal dwAuthzSvc As DWord,
294    ByVal pServerPrincName As *OLECHAR,
295    ByVal dwAuthnLevel As DWord,
296    ByVal dwImpLevel As DWord,
297    ByVal pAuthInfo As RPC_AUTH_IDENTITY_HANDLE,
298    ByVal dwCapabilities As DWord) As HRESULT
299Declare Function CoCopyProxy Lib "ole32" (
300    ByVal pProxySrc As *IUnknown,
301    ByRef pProxyDst As *IUnknown) As HRESULT
302Declare Function CoQueryClientBlanket Lib "ole32" (
303    ByVal pAuthnSvc As *DWord,
304    ByVal pAuthzSvc As *DWord,
305    ByVal pServerPrincName As **OLECHAR,
306    ByVal pAuthnLevel As *DWord,
307    ByVal pImpLevel As *DWord,
308    ByVal pPrivs As *RPC_AUTHZ_HANDLE
309    ByVal pCapabilities As *DWord) As HRESULT
310Declare Function CoImpersonateClient Lib "ole32" () As HRESULT
311Declare Function CoRevertToSelf Lib "ole32" () As HRESULT
312/*
313Declare Function CoRevertToSelf Lib "ole32" (
314    ByRef cAuthSvc As DWord,
315    ByRef asAuthSvc As *SOLE_AUTHENTICATION_SERVICE) As HRESULT
316*/
317Declare Function CoSwitchCallContext Lib "ole32" (
318    ByVal pNewObject As *IUnknown,
319    ByRef ppOldObject As *IUnknown) As HRESULT
320
321Const COM_RIGHTS_EXECUTE = 1
322Const COM_RIGHTS_EXECUTE_LOCAL = 2
323Const COM_RIGHTS_EXECUTE_REMOTE = 4
324Const COM_RIGHTS_ACTIVATE_LOCAL = 8
325Const COM_RIGHTS_ACTIVATE_REMOTE = 16
326
327#endif ' DCOM
328
329Declare Function CoCreateInstance Lib "ole32" (ByRef clsid As CLSID, pUnknown As *IUnknown, dwClsContext As DWord, ByRef refiid As IID, ByRef pObj As Any) As HRESULT
330
331'#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 'DCOM
332#ifdef _WIN32_DCOM
333/* objidl.hでのMULTI_QIの宣言が必要。
334Declare Function CoGetInstanceFromFile Lib "ole32" (
335    ByVal pServerInfo As *COSERVERINFO,
336    ByRef clsid As CLSID,
337    ByVal punkOuter As *IUnknown,
338    ByVal dwClsCtx As DWord,
339    ByVal grfMode As DWord,
340    ByVal pwszName As *OLECHAR
341    ByVal dwCount As DWord,
342    ByVal pResults As *MULTI_QI) As HRESULT
343
344Declare Function CoGetInstanceFromIStorage Lib "ole32" (
345    ByVal pServerInfo As *COSERVERINFO,
346    ByRef clsid As CLSID,
347    ByVal punkOuter As *IUnknown,
348    ByVal dwClsCtx As DWord,
349    ByVal grfMode As DWord,
350    ByVal pstg As *IStorage
351    ByVal dwCount As DWord,
352    ByVal pResults As *MULTI_QI) As HRESULT
353
354Declare Function CoCreateInstanceEx Lib "ole32" (
355    ByRef clsid As CLSID,
356    ByVal punkOuter As *IUnknown,
357    ByVal dwClsCtx As DWord,
358    ByVal pServerInfo As *COSERVERINFO,
359    ByVal dwCount As DWord,
360    ByVal pResults As *MULTI_QI) As HRESULT
361*/
362#endif ' DCOM
363
364/* Call related APIs */
365'#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 'DCOM
366#ifdef _WIN32_DCOM
367
368Declare Function CoGetCancelObject Lib "ole32" (dwThreadId As DWord, ByRef iid As IID, ByRef pUnk As Any) As HRESULT
369Declare Function CoSetCancelObject Lib "ole32" (pUnk As *IUnknown) As HRESULT
370Declare Function CoCancelCall Lib "ole32" (dwThreadId As DWord, ulTimeout As DWord) As HRESULT
371Declare Function CoTestCancel Lib "ole32" () As HRESULT
372Declare Function CoEnableCallCancellation Lib "ole32" (pReserved As VoidPtr) As HRESULT
373Declare Function CoDisableCallCancellation Lib "ole32" (pReserved As VoidPtr) As HRESULT
374Declare Function CoAllowSetForegroundWindow Lib "ole32" (pUnk As *IUnknown, pvReserved As VoidPtr) As HRESULT
375Declare Function DcomChannelSetHResult Lib "ole32" (pvReserved As HRESULT, pulReserved As DWord, appsHR As HRESULT) As HRESULT
376
377#endif
378
379/* other helpers */
380
381Declare Function StringFromCLSID Lib "ole32" (ByRef rclsid As CLSID, ByRef lpsz As LPOLESTR) As HRESULT
382Declare Function CLSIDFromString Lib "ole32" (lpsz As LPOLESTR, ByRef clsid As CLSID) As HRESULT
383Declare Function StringFromIID Lib "ole32" (ByRef iid As IID, ByRef lpsz As LPOLESTR) As HRESULT
384Declare Function IIDFromString Lib "ole32" (lpsz As LPOLESTR, ByRef iid As IID) As HRESULT
385Declare Function CoIsOle1Class Lib "ole32" (ByRef rclsid As CLSID) As BOOL
386Declare Function ProgIDFromCLSID  Lib "ole32" (ByRef clsid As CLSID, ByRef lpszProgID As LPOLESTR) As HRESULT
387Declare Function CLSIDFromProgID  Lib "ole32" (lpszProgID As LPCOLESTR, ByRef clsid As CLSID) As HRESULT
388Declare Function CLSIDFromProgIDEx  Lib "ole32" (lpszProgID As LPCOLESTR, ByRef clsid As CLSID) As HRESULT
389Declare Function StringFromGUID2 Lib "ole32" (ByRef rguid As GUID, lpsz As LPOLESTR, cchMax As Long) As Long
390
391Declare Function CoCreateGuid Lib "ole32" (ByRef guid As GUID) As HRESULT
392
393Declare Function CoFileTimeToDosDateTime Lib "ole32" (ByRef FileTime As FILETIME, ByRef DosDate As Word, ByRef DosTime As Word) As BOOL
394Declare Function CoDosDateTimeToFileTime Lib "ole32" (nDosDate As Word, nDosTime As Word, ByRef FileTime As FILETIME) As BOOL
395Declare Function CoFileTimeNow Lib "ole32" (ByRef FileTime As FILETIME) As HRESULT
396
397Declare Function CoRegisterMessageFilter Lib "ole32" (pMessageFilter As *IMessageFilter, ByRef pMessageFilter As *IMessageFilter) As HRESULT
398
399'#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 'DCOM
400#ifdef _WIN32_DCOM
401Declare Function CoRegisterChannelHook Lib "ole32" (ByRef ExtensionUuid As GUID, pChannelHook As *IChannelHook) As HRESULT
402#endif ' DCOM
403
404'#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 'DCOM
405#ifdef _WIN32_DCOM
406
407Declare Function CoWaitForMultipleHandles Lib "ole32" (
408    ByVal dwFlags As DWord,
409    ByVal dwTimeout As DWord,
410    ByVal cHandles As DWord,
411    ByVal pHandles As *HANDLE,
412    ByRef dwindex As DWord) As HRESULT
413
414/* Flags for Synchronization API and Classes */
415
416Const Enum COWAIT_FLAGS
417    COWAIT_WAITALL = 1
418    COWAIT_ALERTABLE = 2
419    COWAIT_INPUTAVAILABLE = 4
420End Enum
421
422#endif ' DCOM
423
424/* for flushing OLESCM remote binding handles */
425
426#ifdef __UNDECLARED__
427'#if  (_WIN32_WINNT >= 0x0501)
428Declare Function CoInvalidateRemoteMachineBindings Lib "ole32" (pszMachineName As LPOLESTR) As HRESULT
429#endif
430
431/* TreatAs APIS */
432
433Declare Function CoGetTreatAsClass Lib "ole32" (ByRef clsidOld As CLSID, ByRef ClsidNew As CLSID) As HRESULT
434Declare Function CoTreatAsClass Lib "ole32" (ByRef clsidOld As CLSID, ByRef clsidNew As CLSID) As HRESULT
435
436/* the server dlls must define their DllGetClassObject and DllCanUnloadNow
437 * to match these; the typedefs are located here to ensure all are changed at
438 * the same time.
439 */
440
441TypeDef LPFNGETCLASSOBJECT = *Function(ByRef rclsid As CLSID, ByRef riid As IID, ByRef ppv As Any) As HRESULT
442TypeDef LPFNCANUNLOADNOW = *Function() As HRESULT
443
444/*
445Declare Function DllGetClassObject(ByRef rclsid As CLSID, ByRef riid As IID, ByVal ppv As *VoidPtr) As HRESULT
446Declare Function DllCanUnloadNow() As HRESULT
447*/
448
449/****** Default Memory Allocation ******************************************/
450Declare Function CoTaskMemAlloc Lib "ole32" (cb As SIZE_T) As VoidPtr
451Declare Function CoTaskMemRealloc Lib "ole32" (pv As VoidPtr, cb As SIZE_T) As VoidPtr
452Declare Sub CoTaskMemFree Lib "ole32" (pv As VoidPtr)
453
454/****** DV APIs ***********************************************************/
455
456/* This function is declared in objbase.h and ole2.h */
457Declare Function CreateDataAdviseHolder Lib "ole32" (ByRef pDAHolder As *IDataAdviseHolder) As HRESULT
458Declare Function CreateDataCache Lib "ole32" (pUnkOuter As *IUnknown, ByRef rclsid As CLSID, ByRef riid As IID, ByRef ppv As Any) As HRESULT
459
460/****** Storage API Prototypes ********************************************/
461
462
463Declare Function StgCreateDocfile Lib "ole32" (
464    ByVal pwcsName As *OLECHAR,
465    ByVal grfMode As DWord,
466    ByVal reserved As DWord,
467    ByRef pstgOpen As *IStorage) As HRESULT
468
469Declare Function StgCreateDocfileOnILockBytes Lib "ole32" (
470    ByVal plkbyt As *ILockBytes,
471    ByVal grfMode As DWord,
472    ByVal reserved As DWord,
473    ByRef pstgOpen As *IStorage) As HRESULT
474
475Declare Function StgOpenStorage Lib "ole32" (
476    ByVal pwcsName As *OLECHAR,
477    ByVal pstgPriority As *IStorage,
478    ByVal grfMode As DWord,
479    ByVal snbExclude As SNB,
480    ByVal reserved As DWord,
481    ByRef pstgOpen As *IStorage) As HRESULT
482Declare Function StgOpenStorageOnILockBytes Lib "ole32" (
483    ByVal plkbyt As *ILockBytes,
484    ByVal pstgPriority As *IStorage,
485    ByVal grfMode As DWord,
486    ByVal snbExclude As SNB,
487    ByVal reserved As DWord,
488    ByRef pstgOpen As *IStorage) As HRESULT
489
490Declare Function StgIsStorageFile Lib "ole32" (pwcsName As *OLECHAR) As HRESULT
491Declare Function StgIsStorageILockBytes Lib "ole32" (plkbyt As *ILockBytes) As HRESULT
492
493Declare Function StgSetTimes Lib "ole32" (
494    ByVal pszName As *OLECHAR,
495    ByRef pctime As FILETIME,
496    ByRef patime As FILETIME,
497    ByRef pmtime As FILETIME) As HRESULT
498
499Declare Function StgOpenAsyncDocfileOnIFillLockBytes Lib "ole32" (
500    ByVal pflb As *IFillLockBytes,
501    ByVal grfMode As DWord,
502    ByVal asyncFlags As DWord,
503    ByRef pstgOpen As *IStorage) As HRESULT
504
505Declare Function StgGetIFillLockBytesOnILockBytes Lib "ole32" (
506    ByVal pilb As *ILockBytes,
507    ByRef pflb As *IFillLockBytes) As HRESULT
508
509Declare Function StgGetIFillLockBytesOnFile Lib "ole32" (
510    ByVal pwcsName As *OLECHAR,
511    ByRef pflb As *IFillLockBytes) As HRESULT
512/*
513Declare Function StgOpenLayoutDocfile Lib "ole32" (
514    ByVal pwcsName As *OLECHAR,
515    ByVal grfMode As DWord,
516    ByVal reserved As DWord,
517    ByRef pstgOpen As *IStorage) As HRESULT
518*/
519/*
520// STG initialization options for StgCreateStorageEx and StgOpenStorageEx
521#if _WIN32_WINNT == 0x500
522#define STGOPTIONS_VERSION 1
523#elif _WIN32_WINNT > 0x500
524#define STGOPTIONS_VERSION 2
525#else
526#define STGOPTIONS_VERSION 0
527#endif
528*/
529Type STGOPTIONS
530    usVersion As Word
531    reserved As Word
532    ulSectorSize As DWord
533'#if STGOPTIONS_VERSION >= 2
534'   pwcsTemplateFile As PCWSTR /' version 2 or above
535'#endif
536End Type
537
538Declare Function StgCreateStorageEx Lib "ole32" (
539    ByVal pwcsName As *OLECHAR,
540    ByVal grfMode As DWord,
541    ByVal stgfmt As DWord,
542    ByVal grfAttrs As DWord,
543    ByVal pStgOptions As *STGOPTIONS,
544    ByVal reserved As VoidPtr,
545    ByRef riid As IID,
546    ByRef pObjectOpen As Any) As HRESULT
547
548Declare Function StgOpenStorageEx Lib "ole32" (
549    ByVal pwcsName As *OLECHAR,
550    ByVal grfMode As DWord,
551    ByVal stgfmt As DWord,
552    ByVal grfAttrs As DWord,
553    ByVal pStgOptions As *STGOPTIONS,
554    ByVal reserved As VoidPtr,
555    ByRef riid As IID,
556    ByRef pObjectOpen As Any) As HRESULT
557
558
559' Moniker APIs
560
561Declare Function BindMoniker Lib "ole32" (pmk As *IMoniker, grfOpt As DWord, ByRef iidResult As IID, ByRef pvResult As Any) As HRESULT
562/*
563Declare Function CoInstall Lib "ole32" (
564    ByVal pbc As *IBindCtx,
565    ByVal dwFlags As DWord,
566    ByRef pClassSpec As uCLSSPEC,
567    ByRef pQuery As QUERYCONTEXT,
568    ByVal pszCodeBase As PWSTR) As HRESULT
569*/
570Declare Function CoGetObject Lib "ole32" (pszName As PCWSTR, pBindOptions As *BIND_OPTS, ByRef riid As IID, ByRef ppv As Any) As HRESULT
571Declare Function MkParseDisplayName Lib "ole32" (pbc As *IBindCtx, szUserName As LPCOLESTR, ByRef pchEaten As DWord, ByRef pmk As *IMoniker) As HRESULT
572Declare Function MonikerRelativePathTo Lib "ole32" (pmkSrc As *IMoniker, pmkDest As *IMoniker, ByRef pmkRelPath As *IMoniker, dwReserved As BOOL) As HRESULT
573Declare Function MonikerCommonPrefixWith Lib "ole32" (pmkThis As *IMoniker, pmkOther As *IMoniker, ByRef ppmkCommon As *IMoniker) As HRESULT
574Declare Function CreateBindCtx Lib "ole32" (reserved As DWord, ByRef pbc As *IBindCtx) As HRESULT
575Declare Function CreateGenericComposite Lib "ole32" ( pmkFirst As *IMoniker, pmkRest As *IMoniker, ByRef pmkComposite As *IMoniker) As HRESULT
576Declare Function GetClassFile Lib "ole32" (szFilename As LPCOLESTR, ByRef clsid As CLSID) As HRESULT
577Declare Function CreateClassMoniker Lib "ole32" (ByRef rclsid As CLSID, ByRef pmk As *IMoniker) As HRESULT
578Declare Function CreateFileMoniker Lib "ole32" (lpszPathName As LPCOLESTR, ByRef pmk As *IMoniker) As HRESULT
579Declare Function CreateItemMoniker Lib "ole32" (lpszDelim As LPCOLESTR, lpszItem As LPCOLESTR, ByRef pmk As *IMoniker) As HRESULT
580Declare Function CreateAntiMoniker Lib "ole32" (ByRef pmk As *IMoniker) As HRESULT
581Declare Function CreatePointerMoniker Lib "ole32" (punk As *IUnknown, ByRef pmk As *IMoniker) As HRESULT
582Declare Function CreateObjrefMoniker Lib "ole32" (punk As *IUnknown, ByRef pmk As *IMoniker) As HRESULT
583Declare Function  GetRunningObjectTable Lib "ole32" (reserved As DWord, ByRef prot As *IRunningObjectTable) As HRESULT
584
585Interface IBindStatusCallback ' urlmon.sbp
586    Inherits IUnknown
587End Interface
588'#include <urlmon.sbp>
589'#include <propidl.sbp>
590
591' Standard Progress Indicator impolementation
592
593Declare Function CreateStdProgressIndicator Lib "ole32" (
594    ByVal hwndParent As HWND,
595    ByVal pszTitle As LPCOLESTR,
596    ByVal pIbscCaller As *IBindStatusCallback,
597    ByRef pIbsc As *IBindStatusCallback) As HRESULT
598
599
600#endif '_INC_OBJBASE
Note: See TracBrowser for help on using the repository browser.