Data Structures |
| struct | registered_psclsid |
| struct | RegisteredClass |
| struct | OpenDll |
| struct | apartment_loaded_dll |
| struct | MREImpl |
| struct | host_object_params |
| struct | host_thread_params |
| struct | Context |
Defines |
| #define | COBJMACROS |
| #define | NONAMELESSUNION |
| #define | NONAMELESSSTRUCT |
| #define | USE_COM_CONTEXT_DEF |
| #define | ARRAYSIZE(array) (sizeof(array)/sizeof((array)[0])) |
Typedefs |
| typedef HRESULT(CALLBACK * | DllGetClassObjectFunc )(REFCLSID clsid, REFIID iid, LPVOID *ppv) |
| typedef HRESULT(WINAPI * | DllCanUnloadNowFunc )(void) |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (ole) |
| static OpenDll * | COMPOBJ_DllList_Get (LPCWSTR library_name) |
| static HRESULT | COMPOBJ_DllList_Add (LPCWSTR library_name, OpenDll **ret) |
| static void | COMPOBJ_DllList_ReleaseRef (OpenDll *entry, BOOL free_entry) |
| static void | COMPOBJ_DllList_Free (void) |
| static DWORD | apartment_addref (struct apartment *apt) |
| static APARTMENT * | apartment_construct (DWORD model) |
| static APARTMENT * | apartment_get_or_create (DWORD model) |
| static BOOL | apartment_is_model (const APARTMENT *apt, DWORD model) |
| static void | COM_RevokeRegisteredClassObject (RegisteredClass *curClass) |
| static void | COM_RevokeAllClasses (const struct apartment *apt) |
| static MREImpl * | impl_from_ISynchronize (ISynchronize *iface) |
| static HRESULT WINAPI | ISynchronize_fnQueryInterface (ISynchronize *iface, REFIID riid, void **ppv) |
| static ULONG WINAPI | ISynchronize_fnAddRef (ISynchronize *iface) |
| static ULONG WINAPI | ISynchronize_fnRelease (ISynchronize *iface) |
| static HRESULT WINAPI | ISynchronize_fnWait (ISynchronize *iface, DWORD dwFlags, DWORD dwMilliseconds) |
| static HRESULT WINAPI | ISynchronize_fnSignal (ISynchronize *iface) |
| static HRESULT WINAPI | ISynchronize_fnReset (ISynchronize *iface) |
| static HRESULT | ManualResetEvent_Construct (IUnknown *punkouter, REFIID iid, void **ppv) |
| HRESULT WINAPI | CoRevokeClassObject (DWORD dwRegister) |
| static void | apartment_freeunusedlibraries (struct apartment *apt, DWORD delay) |
| DWORD | apartment_release (struct apartment *apt) |
| APARTMENT * | apartment_findfromoxid (OXID oxid, BOOL ref) |
| APARTMENT * | apartment_findfromtid (DWORD tid) |
| static APARTMENT * | apartment_findmain (void) |
| static APARTMENT * | apartment_find_multi_threaded (void) |
| static HRESULT | apartment_getclassobject (struct apartment *apt, LPCWSTR dllpath, BOOL apartment_threaded, REFCLSID rclsid, REFIID riid, void **ppv) |
| static DWORD | COM_RegReadPath (HKEY hkeyroot, const WCHAR *keyname, const WCHAR *valuename, WCHAR *dst, DWORD dstlen) |
| static HRESULT | apartment_hostobject (struct apartment *apt, const struct host_object_params *params) |
| static LRESULT CALLBACK | apartment_wndproc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) |
| static DWORD CALLBACK | apartment_hostobject_thread (LPVOID p) |
| static HRESULT | apartment_hostobject_in_hostapt (struct apartment *apt, BOOL multi_threaded, BOOL main_apartment, HKEY hkeydll, REFCLSID rclsid, REFIID riid, void **ppv) |
| HRESULT | apartment_createwindowifneeded (struct apartment *apt) |
| HWND | apartment_getwindow (const struct apartment *apt) |
| void | apartment_joinmta (void) |
| static void | COMPOBJ_InitProcess (void) |
| static void | COMPOBJ_UninitProcess (void) |
| static void | COM_TlsDestroy (void) |
| DWORD WINAPI | CoBuildVersion (void) |
| HRESULT WINAPI | CoRegisterInitializeSpy (IInitializeSpy *spy, ULARGE_INTEGER *cookie) |
| HRESULT WINAPI | CoRevokeInitializeSpy (ULARGE_INTEGER cookie) |
| HRESULT WINAPI | CoInitialize (LPVOID lpReserved) |
| HRESULT WINAPI | CoInitializeEx (LPVOID lpReserved, DWORD dwCoInit) |
| void WINAPI | CoUninitialize (void) |
| HRESULT WINAPI | CoDisconnectObject (LPUNKNOWN lpUnk, DWORD reserved) |
| HRESULT WINAPI | CoCreateGuid (GUID *pguid) |
| static BOOL | is_valid_hex (WCHAR c) |
| static HRESULT | __CLSIDFromString (LPCWSTR s, LPCLSID id) |
| HRESULT WINAPI | CLSIDFromString (LPCOLESTR idstr, LPCLSID id) |
| HRESULT WINAPI | StringFromCLSID (REFCLSID id, LPOLESTR *idstr) |
| INT WINAPI | StringFromGUID2 (REFGUID id, LPOLESTR str, INT cmax) |
| HRESULT | COM_OpenKeyForCLSID (REFCLSID clsid, LPCWSTR keyname, REGSAM access, HKEY *subkey) |
| HRESULT | COM_OpenKeyForAppIdFromCLSID (REFCLSID clsid, REGSAM access, HKEY *subkey) |
| HRESULT WINAPI | ProgIDFromCLSID (REFCLSID clsid, LPOLESTR *ppszProgID) |
| HRESULT WINAPI | CLSIDFromProgID (LPCOLESTR progid, LPCLSID clsid) |
| HRESULT WINAPI | CoGetPSClsid (REFIID riid, CLSID *pclsid) |
| HRESULT WINAPI | CoRegisterPSClsid (REFIID riid, REFCLSID rclsid) |
| static HRESULT | COM_GetRegisteredClassObject (const struct apartment *apt, REFCLSID rclsid, DWORD dwClsContext, LPUNKNOWN *ppUnk) |
| HRESULT WINAPI | CoRegisterClassObject (REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister) |
| static void | get_threading_model (HKEY key, LPWSTR value, DWORD len) |
| static HRESULT | get_inproc_class_object (APARTMENT *apt, HKEY hkeydll, REFCLSID rclsid, REFIID riid, BOOL hostifnecessary, void **ppv) |
| HRESULT WINAPI | CoGetClassObject (REFCLSID rclsid, DWORD dwClsContext, COSERVERINFO *pServerInfo, REFIID iid, LPVOID *ppv) |
| HRESULT WINAPI | CoResumeClassObjects (void) |
| HRESULT WINAPI | CoCreateInstance (REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv) |
| HRESULT WINAPI | CoCreateInstanceEx (REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, COSERVERINFO *pServerInfo, ULONG cmq, MULTI_QI *pResults) |
| HINSTANCE WINAPI | CoLoadLibrary (LPOLESTR lpszLibName, BOOL bAutoFree) |
| void WINAPI | CoFreeLibrary (HINSTANCE hLibrary) |
| void WINAPI | CoFreeAllLibraries (void) |
| void WINAPI | CoFreeUnusedLibrariesEx (DWORD dwUnloadDelay, DWORD dwReserved) |
| void WINAPI | CoFreeUnusedLibraries (void) |
| HRESULT WINAPI | CoFileTimeNow (FILETIME *lpFileTime) |
| HRESULT WINAPI | CoLockObjectExternal (LPUNKNOWN pUnk, BOOL fLock, BOOL fLastUnlockReleases) |
| HRESULT WINAPI | CoInitializeWOW (DWORD x, DWORD y) |
| HRESULT WINAPI | CoGetState (IUnknown **ppv) |
| HRESULT WINAPI | CoSetState (IUnknown *pv) |
| HRESULT WINAPI | CoTreatAsClass (REFCLSID clsidOld, REFCLSID clsidNew) |
| HRESULT WINAPI | CoGetTreatAsClass (REFCLSID clsidOld, LPCLSID clsidNew) |
| DWORD WINAPI | CoGetCurrentProcess (void) |
| HRESULT WINAPI | CoRegisterMessageFilter (LPMESSAGEFILTER lpMessageFilter, LPMESSAGEFILTER *lplpMessageFilter) |
| BOOL WINAPI | CoIsOle1Class (REFCLSID clsid) |
| BOOL WINAPI | IsEqualGUID (REFGUID rguid1, REFGUID rguid2) |
| HRESULT WINAPI | CoInitializeSecurity (PSECURITY_DESCRIPTOR pSecDesc, LONG cAuthSvc, SOLE_AUTHENTICATION_SERVICE *asAuthSvc, void *pReserved1, DWORD dwAuthnLevel, DWORD dwImpLevel, void *pReserved2, DWORD dwCapabilities, void *pReserved3) |
| HRESULT WINAPI | CoSuspendClassObjects (void) |
| ULONG WINAPI | CoAddRefServerProcess (void) |
| ULONG WINAPI | CoReleaseServerProcess (void) |
| BOOL WINAPI | CoIsHandlerConnected (IUnknown *pUnk) |
| HRESULT WINAPI | CoAllowSetForegroundWindow (IUnknown *pUnk, void *pvReserved) |
| HRESULT WINAPI | CoQueryProxyBlanket (IUnknown *pProxy, DWORD *pAuthnSvc, DWORD *pAuthzSvc, OLECHAR **ppServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, void **ppAuthInfo, DWORD *pCapabilities) |
| HRESULT WINAPI | CoSetProxyBlanket (IUnknown *pProxy, DWORD AuthnSvc, DWORD AuthzSvc, OLECHAR *pServerPrincName, DWORD AuthnLevel, DWORD ImpLevel, void *pAuthInfo, DWORD Capabilities) |
| HRESULT WINAPI | CoCopyProxy (IUnknown *pProxy, IUnknown **ppCopy) |
| HRESULT WINAPI | CoGetCallContext (REFIID riid, void **ppv) |
| HRESULT WINAPI | CoSwitchCallContext (IUnknown *pObject, IUnknown **ppOldObject) |
| HRESULT WINAPI | CoQueryClientBlanket (DWORD *pAuthnSvc, DWORD *pAuthzSvc, OLECHAR **pServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, RPC_AUTHZ_HANDLE *pPrivs, DWORD *pCapabilities) |
| HRESULT WINAPI | CoImpersonateClient (void) |
| HRESULT WINAPI | CoRevertToSelf (void) |
| static BOOL | COM_PeekMessage (struct apartment *apt, MSG *msg) |
| HRESULT WINAPI | CoWaitForMultipleHandles (DWORD dwFlags, DWORD dwTimeout, ULONG cHandles, LPHANDLE pHandles, LPDWORD lpdwindex) |
| HRESULT WINAPI | CoGetObject (LPCWSTR pszName, BIND_OPTS *pBindOptions, REFIID riid, void **ppv) |
| HRESULT WINAPI | CoRegisterChannelHook (REFGUID guidExtension, IChannelHook *pChannelHook) |
| static Context * | impl_from_IComThreadingInfo (IComThreadingInfo *iface) |
| static Context * | impl_from_IContextCallback (IContextCallback *iface) |
| static Context * | impl_from_IObjContext (IObjContext *iface) |
| static HRESULT | Context_QueryInterface (Context *iface, REFIID riid, LPVOID *ppv) |
| static ULONG | Context_AddRef (Context *This) |
| static ULONG | Context_Release (Context *This) |
| static HRESULT WINAPI | Context_CTI_QueryInterface (IComThreadingInfo *iface, REFIID riid, LPVOID *ppv) |
| static ULONG WINAPI | Context_CTI_AddRef (IComThreadingInfo *iface) |
| static ULONG WINAPI | Context_CTI_Release (IComThreadingInfo *iface) |
| static HRESULT WINAPI | Context_CTI_GetCurrentApartmentType (IComThreadingInfo *iface, APTTYPE *apttype) |
| static HRESULT WINAPI | Context_CTI_GetCurrentThreadType (IComThreadingInfo *iface, THDTYPE *thdtype) |
| static HRESULT WINAPI | Context_CTI_GetCurrentLogicalThreadId (IComThreadingInfo *iface, GUID *logical_thread_id) |
| static HRESULT WINAPI | Context_CTI_SetCurrentLogicalThreadId (IComThreadingInfo *iface, REFGUID logical_thread_id) |
| static HRESULT WINAPI | Context_CC_QueryInterface (IContextCallback *iface, REFIID riid, LPVOID *ppv) |
| static ULONG WINAPI | Context_CC_AddRef (IContextCallback *iface) |
| static ULONG WINAPI | Context_CC_Release (IContextCallback *iface) |
| static HRESULT WINAPI | Context_CC_ContextCallback (IContextCallback *iface, PFNCONTEXTCALL pCallback, ComCallData *param, REFIID riid, int method, IUnknown *punk) |
| static HRESULT WINAPI | Context_OC_QueryInterface (IObjContext *iface, REFIID riid, LPVOID *ppv) |
| static ULONG WINAPI | Context_OC_AddRef (IObjContext *iface) |
| static ULONG WINAPI | Context_OC_Release (IObjContext *iface) |
| static HRESULT WINAPI | Context_OC_SetProperty (IObjContext *iface, REFGUID propid, CPFLAGS flags, IUnknown *punk) |
| static HRESULT WINAPI | Context_OC_RemoveProperty (IObjContext *iface, REFGUID propid) |
| static HRESULT WINAPI | Context_OC_GetProperty (IObjContext *iface, REFGUID propid, CPFLAGS *flags, IUnknown **punk) |
| static HRESULT WINAPI | Context_OC_EnumContextProps (IObjContext *iface, IEnumContextProps **props) |
| static void WINAPI | Context_OC_Reserved1 (IObjContext *iface) |
| static void WINAPI | Context_OC_Reserved2 (IObjContext *iface) |
| static void WINAPI | Context_OC_Reserved3 (IObjContext *iface) |
| static void WINAPI | Context_OC_Reserved4 (IObjContext *iface) |
| static void WINAPI | Context_OC_Reserved5 (IObjContext *iface) |
| static void WINAPI | Context_OC_Reserved6 (IObjContext *iface) |
| static void WINAPI | Context_OC_Reserved7 (IObjContext *iface) |
| HRESULT WINAPI | CoGetObjectContext (REFIID riid, void **ppv) |
| HRESULT WINAPI | CoGetContextToken (ULONG_PTR *token) |
| HRESULT | Handler_DllGetClassObject (REFCLSID rclsid, REFIID riid, LPVOID *ppv) |
| BOOL WINAPI | DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) |
| HRESULT WINAPI | DllRegisterServer (void) |
| HRESULT WINAPI | DllUnregisterServer (void) |
Variables |
| static APARTMENT * | MTA |
| static APARTMENT * | MainApartment |
| static struct list | apts = LIST_INIT( apts ) |
| static CRITICAL_SECTION | csApartment = { &critsect_debug, -1, 0, 0, 0, 0 } |
| static CRITICAL_SECTION_DEBUG | critsect_debug |
| static LONG | s_COMLockCount = 0 |
| static LONG | s_COMServerProcessReferences = 0 |
| static struct list | RegisteredClassList = LIST_INIT(RegisteredClassList) |
| static CRITICAL_SECTION | csRegisteredClassList = { &class_cs_debug, -1, 0, 0, 0, 0 } |
| static CRITICAL_SECTION_DEBUG | class_cs_debug |
| static struct list | openDllList = LIST_INIT(openDllList) |
| static CRITICAL_SECTION | csOpenDllList = { &dll_cs_debug, -1, 0, 0, 0, 0 } |
| static CRITICAL_SECTION_DEBUG | dll_cs_debug |
| static const WCHAR | wszAptWinClass [] |
| static ISynchronizeVtbl | vt_ISynchronize |
| static const IComThreadingInfoVtbl | Context_Threading_Vtbl |
| static const IContextCallbackVtbl | Context_Callback_Vtbl |
| static const IObjContextVtbl | Context_Object_Vtbl |