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; 9b639cf2d6 2015-05-05 kinaba: pragma(lib, "ole32"); 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; 9b639cf2d6 2015-05-05 kinaba: const(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(); 9b639cf2d6 2015-05-05 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*); 9b639cf2d6 2015-05-05 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*); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgCreateDocfile(const(OLECHAR)*, DWORD, DWORD, IStorage*); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgCreateDocfileOnILockBytes(ILockBytes, DWORD, DWORD, IStorage*); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgOpenStorage(const(OLECHAR)*, IStorage, DWORD, SNB, DWORD, IStorage*); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgOpenStorageOnILockBytes(ILockBytes, IStorage, DWORD, SNB, DWORD, IStorage*); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgIsStorageFile(const(OLECHAR)*); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgIsStorageILockBytes(ILockBytes); 4e2933c620 2015-04-21 kinaba: HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgCreateStorageEx(const(WCHAR)*, DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**); 9b639cf2d6 2015-05-05 kinaba: HRESULT StgOpenStorageEx(const(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: }