ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

compobj.c File Reference
#include "config.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "winreg.h"
#include "winuser.h"
#include "objbase.h"
#include "ole2.h"
#include "ole2ver.h"
#include "ctxtcall.h"
#include "dde.h"
#include "initguid.h"
#include "compobj_private.h"
#include "moniker.h"
#include "wine/unicode.h"
#include "wine/debug.h"

Go to the source code of this file.

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(WINAPIDllCanUnloadNowFunc )(void)

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (ole)
static OpenDllCOMPOBJ_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 MREImplimpl_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 Contextimpl_from_IComThreadingInfo (IComThreadingInfo *iface)
static Contextimpl_from_IContextCallback (IContextCallback *iface)
static Contextimpl_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

Generated on Sat May 26 2012 05:14:23 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.