File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               objbase.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.objbase;
4e2933c620 2015-04-21        kinaba: pragma(lib, "ole32.lib");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: import win32.cguid, win32.objidl, win32.unknwn, win32.wtypes;
4e2933c620 2015-04-21        kinaba: private import win32.basetyps, win32.objfwd, win32.rpcdce, win32.winbase,
4e2933c620 2015-04-21        kinaba:   win32.windef;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // DAC: Not needed for D?
4e2933c620 2015-04-21        kinaba: //MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v))
4e2933c620 2015-04-21        kinaba: //MACRO #define ULISet32(li, v) ((li).HighPart=0, (li).LowPart=(v))
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const CLSCTX_ALL    = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER|CLSCTX.CLSCTX_LOCAL_SERVER;
4e2933c620 2015-04-21        kinaba: const CLSCTX_INPROC = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER;
4e2933c620 2015-04-21        kinaba: const CLSCTX_SERVER = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_LOCAL_SERVER|CLSCTX.CLSCTX_REMOTE_SERVER;
4e2933c620 2015-04-21        kinaba: const MARSHALINTERFACE_MIN=500;
4e2933c620 2015-04-21        kinaba: const CWCSTORAGENAME=32;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const STGM_DIRECT           = 0;
4e2933c620 2015-04-21        kinaba: const STGM_TRANSACTED       = 0x10000L;
4e2933c620 2015-04-21        kinaba: const STGM_SIMPLE           = 0x8000000L;
4e2933c620 2015-04-21        kinaba: const STGM_READ             = 0;
4e2933c620 2015-04-21        kinaba: const STGM_WRITE            = 1;
4e2933c620 2015-04-21        kinaba: const STGM_READWRITE        = 2;
4e2933c620 2015-04-21        kinaba: const STGM_SHARE_DENY_NONE  = 0x40;
4e2933c620 2015-04-21        kinaba: const STGM_SHARE_DENY_READ  = 0x30;
4e2933c620 2015-04-21        kinaba: const STGM_SHARE_DENY_WRITE = 0x20;
4e2933c620 2015-04-21        kinaba: const STGM_SHARE_EXCLUSIVE  = 0x10;
4e2933c620 2015-04-21        kinaba: const STGM_PRIORITY         = 0x40000L;
4e2933c620 2015-04-21        kinaba: const STGM_DELETEONRELEASE  = 0x4000000;
4e2933c620 2015-04-21        kinaba: const STGM_NOSCRATCH        = 0x100000;
4e2933c620 2015-04-21        kinaba: const STGM_CREATE           = 0x1000;
4e2933c620 2015-04-21        kinaba: const STGM_CONVERT          = 0x20000;
4e2933c620 2015-04-21        kinaba: const STGM_NOSNAPSHOT       = 0x200000;
4e2933c620 2015-04-21        kinaba: const STGM_FAILIFTHERE      = 0;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const ASYNC_MODE_COMPATIBILITY = 1;
4e2933c620 2015-04-21        kinaba: const ASYNC_MODE_DEFAULT       = 0;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const STGTY_REPEAT = 256;
4e2933c620 2015-04-21        kinaba: const STG_TOEND = 0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: const STG_LAYOUT_SEQUENTIAL  = 0;
4e2933c620 2015-04-21        kinaba: const STG_LAYOUT_INTERLEAVED = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const COM_RIGHTS_EXECUTE            = 1;
4e2933c620 2015-04-21        kinaba: const COM_RIGHTS_SAFE_FOR_SCRIPTING = 2;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const STGOPTIONS_VERSION = 2;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum STGFMT {
4e2933c620 2015-04-21        kinaba: 	STGFMT_STORAGE = 0,
4e2933c620 2015-04-21        kinaba: 	STGFMT_FILE = 3,
4e2933c620 2015-04-21        kinaba: 	STGFMT_ANY = 4,
4e2933c620 2015-04-21        kinaba: 	STGFMT_DOCFILE = 5
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct STGOPTIONS {
4e2933c620 2015-04-21        kinaba: 	USHORT usVersion;
4e2933c620 2015-04-21        kinaba: 	USHORT reserved;
4e2933c620 2015-04-21        kinaba: 	ULONG ulSectorSize;
4e2933c620 2015-04-21        kinaba: 	CPtr!(WCHAR) pwcsTemplateFile;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum REGCLS {
4e2933c620 2015-04-21        kinaba: 	REGCLS_SINGLEUSE = 0,
4e2933c620 2015-04-21        kinaba: 	REGCLS_MULTIPLEUSE = 1,
4e2933c620 2015-04-21        kinaba: 	REGCLS_MULTI_SEPARATE = 2
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /*
4e2933c620 2015-04-21        kinaba: BOOL IsEqualGUID(GUID rguid1, GUID rguid2) {
4e2933c620 2015-04-21        kinaba: 	return rguid1 == rguid2;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: */
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) BOOL IsEqualGUID(
4e2933c620 2015-04-21        kinaba:   REFGUID rguid1,
4e2933c620 2015-04-21        kinaba:   REFGUID rguid2
4e2933c620 2015-04-21        kinaba: );
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias IsEqualGUID IsEqualIID;
4e2933c620 2015-04-21        kinaba: alias IsEqualGUID IsEqualCLSID;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum COINIT {
4e2933c620 2015-04-21        kinaba: 	COINIT_APARTMENTTHREADED = 2,
4e2933c620 2015-04-21        kinaba: 	COINIT_MULTITHREADED     = 0,
4e2933c620 2015-04-21        kinaba: 	COINIT_DISABLE_OLE1DDE   = 4,
4e2933c620 2015-04-21        kinaba: 	COINIT_SPEED_OVER_MEMORY = 8
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum STDMSHLFLAGS {
4e2933c620 2015-04-21        kinaba: 	SMEXF_SERVER  = 1,
4e2933c620 2015-04-21        kinaba: 	SMEXF_HANDLER
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern(Windows) {
4e2933c620 2015-04-21        kinaba: 	alias HRESULT function(REFCLSID, REFIID, PVOID*) LPFNGETCLASSOBJECT;
4e2933c620 2015-04-21        kinaba: 	alias HRESULT function() LPFNCANUNLOADNOW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	DWORD CoBuildVersion();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoInitialize(PVOID);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoInitializeEx(LPVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 	void CoUninitialize();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetMalloc(DWORD, LPMALLOC*);
4e2933c620 2015-04-21        kinaba: 	DWORD CoGetCurrentProcess();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoRegisterMallocSpy(LPMALLOCSPY);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoRevokeMallocSpy();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoCreateStandardMalloc(DWORD, IMalloc**);
4e2933c620 2015-04-21        kinaba: 	//#ifdef DBG
4e2933c620 2015-04-21        kinaba: 	ULONG DebugCoGetRpcFault();
4e2933c620 2015-04-21        kinaba: 	void DebugCoSetRpcFault(ULONG);
4e2933c620 2015-04-21        kinaba: 	//#endif
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoRevokeClassObject(DWORD);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetMarshalSizeMax(ULONG*, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoMarshalInterface(LPSTREAM, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoUnmarshalInterface(LPSTREAM, REFIID, PVOID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoMarshalHresult(LPSTREAM, HRESULT);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoUnmarshalHresult(LPSTREAM, HRESULT*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoReleaseMarshalData(LPSTREAM);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoDisconnectObject(LPUNKNOWN, DWORD);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoLockObjectExternal(LPUNKNOWN, BOOL, BOOL);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetStandardMarshal(REFIID, LPUNKNOWN, DWORD, PVOID, DWORD, LPMARSHAL*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetStdMarshalEx(LPUNKNOWN, DWORD, LPUNKNOWN*);
4e2933c620 2015-04-21        kinaba: 	BOOL CoIsHandlerConnected(LPUNKNOWN);
4e2933c620 2015-04-21        kinaba: 	BOOL CoHasStrongExternalConnections(LPUNKNOWN);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoMarshalInterThreadInterfaceInStream(REFIID, LPUNKNOWN, LPSTREAM*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE CoLoadLibrary(LPOLESTR, BOOL);
4e2933c620 2015-04-21        kinaba: 	void CoFreeLibrary(HINSTANCE);
4e2933c620 2015-04-21        kinaba: 	void CoFreeAllLibraries();
4e2933c620 2015-04-21        kinaba: 	void CoFreeUnusedLibraries();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoCreateInstanceEx(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
4e2933c620 2015-04-21        kinaba: 	HRESULT StringFromCLSID(REFCLSID, LPOLESTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CLSIDFromString(LPOLESTR, LPCLSID);
4e2933c620 2015-04-21        kinaba: 	HRESULT StringFromIID(REFIID, LPOLESTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT IIDFromString(LPOLESTR, LPIID);
4e2933c620 2015-04-21        kinaba: 	BOOL CoIsOle1Class(REFCLSID);
4e2933c620 2015-04-21        kinaba: 	HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID);
4e2933c620 2015-04-21        kinaba: 	int StringFromGUID2(REFGUID, LPOLESTR, int);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoCreateGuid(GUID*);
4e2933c620 2015-04-21        kinaba: 	BOOL CoFileTimeToDosDateTime(FILETIME*, LPWORD, LPWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL CoDosDateTimeToFileTime(WORD, WORD, FILETIME*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoFileTimeNow(FILETIME*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoRegisterMessageFilter(LPMESSAGEFILTER, LPMESSAGEFILTER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetTreatAsClass(REFCLSID, LPCLSID);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoTreatAsClass(REFCLSID, REFCLSID);
4e2933c620 2015-04-21        kinaba: 	HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT DllCanUnloadNow();
4e2933c620 2015-04-21        kinaba: 	PVOID CoTaskMemAlloc(ULONG);
4e2933c620 2015-04-21        kinaba: 	PVOID CoTaskMemRealloc(PVOID, ULONG);
4e2933c620 2015-04-21        kinaba: 	void CoTaskMemFree(PVOID);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgCreateDocfile(CPtr!(OLECHAR), DWORD, DWORD, IStorage**);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgCreateDocfileOnILockBytes(ILockBytes*, DWORD, DWORD, IStorage**);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgOpenStorage(CPtr!(OLECHAR), IStorage, DWORD, SNB, DWORD, IStorage*);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgOpenStorageOnILockBytes(ILockBytes*, IStorage*, DWORD, SNB, DWORD, IStorage**);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgIsStorageFile(CPtr!(OLECHAR));
4e2933c620 2015-04-21        kinaba: 	HRESULT StgIsStorageILockBytes(ILockBytes*);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgCreateStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT StgOpenStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL);
4e2933c620 2015-04-21        kinaba: 	HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateBindCtx(DWORD, LPBC*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT GetClassFile (LPCOLESTR, CLSID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateFileMoniker(LPCOLESTR, LPMONIKER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateItemMoniker(LPCOLESTR, LPCOLESTR, LPMONIKER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreateAntiMoniker(LPMONIKER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CreatePointerMoniker(LPUNKNOWN, LPMONIKER*);
4e2933c620 2015-04-21        kinaba: 	HRESULT GetRunningObjectTable(DWORD, LPRUNNINGOBJECTTABLE*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoInitializeSecurity(PSECURITY_DESCRIPTOR, LONG, SOLE_AUTHENTICATION_SERVICE*, void*, DWORD, DWORD, void*, DWORD, void*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetCallContext(REFIID, void**);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoQueryProxyBlanket(IUnknown*, DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTH_IDENTITY_HANDLE*, DWORD*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoSetProxyBlanket(IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, DWORD, RPC_AUTH_IDENTITY_HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoCopyProxy(IUnknown*, IUnknown**);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoQueryClientBlanket(DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTHZ_HANDLE*, DWORD*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoImpersonateClient();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoRevertToSelf();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoQueryAuthenticationServices(DWORD*, SOLE_AUTHENTICATION_SERVICE**);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoSwitchCallContext(IUnknown*, IUnknown**);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetInstanceFromFile(COSERVERINFO*, CLSID*, IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, MULTI_QI*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetInstanceFromIStorage(COSERVERINFO*, CLSID*, IUnknown*, DWORD, IStorage*, DWORD, MULTI_QI*);
4e2933c620 2015-04-21        kinaba: 	ULONG CoAddRefServerProcess();
4e2933c620 2015-04-21        kinaba: 	ULONG CoReleaseServerProcess();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoResumeClassObjects();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoSuspendClassObjects();
4e2933c620 2015-04-21        kinaba: 	HRESULT CoGetPSClsid(REFIID, CLSID*);
4e2933c620 2015-04-21        kinaba: 	HRESULT CoRegisterPSClsid(REFIID, REFCLSID);
4e2933c620 2015-04-21        kinaba: }