File: objbase.d

package info (click to toggle)
gcc-arm-none-eabi 15%3A12.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 959,712 kB
  • sloc: cpp: 3,275,382; ansic: 2,061,766; ada: 840,956; f90: 208,513; makefile: 76,132; asm: 73,433; xml: 50,448; exp: 34,146; sh: 32,436; objc: 15,637; fortran: 14,012; python: 11,991; pascal: 6,787; awk: 4,779; perl: 3,054; yacc: 338; ml: 285; lex: 201; haskell: 122
file content (208 lines) | stat: -rw-r--r-- 8,509 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
/**
 * Windows API header module
 *
 * Translated from MinGW Windows headers
 *
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
 * Source: $(DRUNTIMESRC core/sys/windows/_objbase.d)
 */
module core.sys.windows.objbase;
version (Windows):
@system:
pragma(lib, "ole32");

import core.sys.windows.cguid, core.sys.windows.objidl, core.sys.windows.unknwn, core.sys.windows.wtypes;
import core.sys.windows.basetyps, core.sys.windows.objfwd, core.sys.windows.rpcdce, core.sys.windows.winbase,
  core.sys.windows.windef;

// DAC: Not needed for D?
//MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v))
//MACRO #define ULISet32(li, v) ((li).HighPart=0, (li).LowPart=(v))

enum CLSCTX_ALL    = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER|CLSCTX.CLSCTX_LOCAL_SERVER;
enum CLSCTX_INPROC = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER;
enum CLSCTX_SERVER = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_LOCAL_SERVER|CLSCTX.CLSCTX_REMOTE_SERVER;
enum MARSHALINTERFACE_MIN=500;
enum CWCSTORAGENAME=32;

enum STGM_DIRECT           = 0;
enum STGM_TRANSACTED       = 0x10000L;
enum STGM_SIMPLE           = 0x8000000L;
enum STGM_READ             = 0;
enum STGM_WRITE            = 1;
enum STGM_READWRITE        = 2;
enum STGM_SHARE_DENY_NONE  = 0x40;
enum STGM_SHARE_DENY_READ  = 0x30;
enum STGM_SHARE_DENY_WRITE = 0x20;
enum STGM_SHARE_EXCLUSIVE  = 0x10;
enum STGM_PRIORITY         = 0x40000L;
enum STGM_DELETEONRELEASE  = 0x4000000;
enum STGM_NOSCRATCH        = 0x100000;
enum STGM_CREATE           = 0x1000;
enum STGM_CONVERT          = 0x20000;
enum STGM_NOSNAPSHOT       = 0x200000;
enum STGM_FAILIFTHERE      = 0;

enum ASYNC_MODE_COMPATIBILITY = 1;
enum ASYNC_MODE_DEFAULT       = 0;

enum STGTY_REPEAT = 256;
enum STG_TOEND = 0xFFFFFFFF;
enum STG_LAYOUT_SEQUENTIAL  = 0;
enum STG_LAYOUT_INTERLEAVED = 1;

enum COM_RIGHTS_EXECUTE            = 1;
enum COM_RIGHTS_SAFE_FOR_SCRIPTING = 2;

enum STGOPTIONS_VERSION = 2;

enum STGFMT {
    STGFMT_STORAGE = 0,
    STGFMT_FILE = 3,
    STGFMT_ANY = 4,
    STGFMT_DOCFILE = 5
}

struct STGOPTIONS {
    USHORT usVersion;
    USHORT reserved;
    ULONG ulSectorSize;
const(WCHAR)* pwcsTemplateFile;
}

enum REGCLS {
    REGCLS_SINGLEUSE = 0,
    REGCLS_MULTIPLEUSE = 1,
    REGCLS_MULTI_SEPARATE = 2
}

/*
BOOL IsEqualGUID(GUID rguid1, GUID rguid2) {
    return rguid1 == rguid2;
}
*/

extern (Windows) BOOL IsEqualGUID(
  REFGUID rguid1,
  REFGUID rguid2
);

alias IsEqualGUID IsEqualIID;
alias IsEqualGUID IsEqualCLSID;

enum COINIT {
    COINIT_APARTMENTTHREADED = 2,
    COINIT_MULTITHREADED     = 0,
    COINIT_DISABLE_OLE1DDE   = 4,
    COINIT_SPEED_OVER_MEMORY = 8
}

enum STDMSHLFLAGS {
    SMEXF_SERVER  = 1,
    SMEXF_HANDLER
}

extern(Windows) {
    alias HRESULT function(REFCLSID, REFIID, PVOID*) LPFNGETCLASSOBJECT;
    alias HRESULT function() LPFNCANUNLOADNOW;

    DWORD CoBuildVersion();
    HRESULT CoInitialize(PVOID);
    HRESULT CoInitializeEx(LPVOID, DWORD);
    void CoUninitialize();
    HRESULT CoGetMalloc(DWORD, LPMALLOC*);
    DWORD CoGetCurrentProcess();
    HRESULT CoRegisterMallocSpy(LPMALLOCSPY);
    HRESULT CoRevokeMallocSpy();
    HRESULT CoCreateStandardMalloc(DWORD, IMalloc*);
    //#ifdef DBG
    ULONG DebugCoGetRpcFault();
    void DebugCoSetRpcFault(ULONG);
    //#endif
    HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*);
    HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD);
    HRESULT CoRevokeClassObject(DWORD);
    HRESULT CoGetMarshalSizeMax(ULONG*, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD);
    HRESULT CoMarshalInterface(LPSTREAM, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD);
    HRESULT CoUnmarshalInterface(LPSTREAM, REFIID, PVOID*);
    HRESULT CoMarshalHresult(LPSTREAM, HRESULT);
    HRESULT CoUnmarshalHresult(LPSTREAM, HRESULT*);
    HRESULT CoReleaseMarshalData(LPSTREAM);
    HRESULT CoDisconnectObject(LPUNKNOWN, DWORD);
    HRESULT CoLockObjectExternal(LPUNKNOWN, BOOL, BOOL);
    HRESULT CoGetStandardMarshal(REFIID, LPUNKNOWN, DWORD, PVOID, DWORD, LPMARSHAL*);
    HRESULT CoGetStdMarshalEx(LPUNKNOWN, DWORD, LPUNKNOWN*);
    BOOL CoIsHandlerConnected(LPUNKNOWN);
    BOOL CoHasStrongExternalConnections(LPUNKNOWN);
    HRESULT CoMarshalInterThreadInterfaceInStream(REFIID, LPUNKNOWN, LPSTREAM*);
    HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*);
    HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*);
    HINSTANCE CoLoadLibrary(LPOLESTR, BOOL);
    void CoFreeLibrary(HINSTANCE);
    void CoFreeAllLibraries();
    void CoFreeUnusedLibraries();
    HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*);
    HRESULT CoCreateInstanceEx(REFCLSID, IUnknown, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
    HRESULT StringFromCLSID(REFCLSID, LPOLESTR*);
    HRESULT CLSIDFromString(LPOLESTR, LPCLSID);
    HRESULT StringFromIID(REFIID, LPOLESTR*);
    HRESULT IIDFromString(LPOLESTR, LPIID);
    BOOL CoIsOle1Class(REFCLSID);
    HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*);
    HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID);
    int StringFromGUID2(REFGUID, LPOLESTR, int);
    HRESULT CoCreateGuid(GUID*);
    BOOL CoFileTimeToDosDateTime(FILETIME*, LPWORD, LPWORD);
    BOOL CoDosDateTimeToFileTime(WORD, WORD, FILETIME*);
    HRESULT CoFileTimeNow(FILETIME*);
    HRESULT CoRegisterMessageFilter(LPMESSAGEFILTER, LPMESSAGEFILTER*);
    HRESULT CoGetTreatAsClass(REFCLSID, LPCLSID);
    HRESULT CoTreatAsClass(REFCLSID, REFCLSID);
    HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*);
    HRESULT DllCanUnloadNow();
    PVOID CoTaskMemAlloc(SIZE_T);
    PVOID CoTaskMemRealloc(PVOID, SIZE_T);
    void CoTaskMemFree(PVOID);
    HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
    HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*);
    HRESULT StgCreateDocfile(const(OLECHAR)*, DWORD, DWORD, IStorage*);
    HRESULT StgCreateDocfileOnILockBytes(ILockBytes, DWORD, DWORD, IStorage*);
    HRESULT StgOpenStorage(const(OLECHAR)*, IStorage, DWORD, SNB, DWORD, IStorage*);
    HRESULT StgOpenStorageOnILockBytes(ILockBytes, IStorage, DWORD, SNB, DWORD, IStorage*);
    HRESULT StgIsStorageFile(const(OLECHAR)*);
    HRESULT StgIsStorageILockBytes(ILockBytes);
    HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *);
    HRESULT StgCreateStorageEx(const(WCHAR)*, DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**);
    HRESULT StgOpenStorageEx(const(WCHAR)*, DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**);
    HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*);
    HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**);
    HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*);
    HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL);
    HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*);
    HRESULT CreateBindCtx(DWORD, LPBC*);
    HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*);
    HRESULT GetClassFile (LPCOLESTR, CLSID*);
    HRESULT CreateFileMoniker(LPCOLESTR, LPMONIKER*);
    HRESULT CreateItemMoniker(LPCOLESTR, LPCOLESTR, LPMONIKER*);
    HRESULT CreateAntiMoniker(LPMONIKER*);
    HRESULT CreatePointerMoniker(LPUNKNOWN, LPMONIKER*);
    HRESULT GetRunningObjectTable(DWORD, LPRUNNINGOBJECTTABLE*);
    HRESULT CoInitializeSecurity(PSECURITY_DESCRIPTOR, LONG, SOLE_AUTHENTICATION_SERVICE*, void*, DWORD, DWORD, void*, DWORD, void*);
    HRESULT CoGetCallContext(REFIID, void**);
    HRESULT CoQueryProxyBlanket(IUnknown*, DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTH_IDENTITY_HANDLE*, DWORD*);
    HRESULT CoSetProxyBlanket(IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, DWORD, RPC_AUTH_IDENTITY_HANDLE, DWORD);
    HRESULT CoCopyProxy(IUnknown*, IUnknown**);
    HRESULT CoQueryClientBlanket(DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTHZ_HANDLE*, DWORD*);
    HRESULT CoImpersonateClient();
    HRESULT CoRevertToSelf();
    HRESULT CoQueryAuthenticationServices(DWORD*, SOLE_AUTHENTICATION_SERVICE**);
    HRESULT CoSwitchCallContext(IUnknown*, IUnknown**);
    HRESULT CoGetInstanceFromFile(COSERVERINFO*, CLSID*, IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, MULTI_QI*);
    HRESULT CoGetInstanceFromIStorage(COSERVERINFO*, CLSID*, IUnknown*, DWORD, IStorage*, DWORD, MULTI_QI*);
    ULONG CoAddRefServerProcess();
    ULONG CoReleaseServerProcess();
    HRESULT CoResumeClassObjects();
    HRESULT CoSuspendClassObjects();
    HRESULT CoGetPSClsid(REFIID, CLSID*);
    HRESULT CoRegisterPSClsid(REFIID, REFCLSID);
}