40 #include "wine/list.h" 79 0, 0, { (
DWORD_PTR)(__FILE__
": global interface table") }
105 TRACE(
"Entry not found\n");
135 IGlobalInterfaceTable_AddRef(iface);
171 TRACE(
"About to marshal the interface\n");
204 *pdwCookie =
entry->cookie;
220 TRACE(
"iface=%p, dwCookie=0x%x\n", iface, dwCookie);
226 TRACE(
"Entry not found\n");
239 WARN(
"Failed to release marshal data, hr = 0x%08x\n",
hr);
242 IStream_Release(
entry->stream);
264 WARN(
"Entry for cookie 0x%x not found\n", dwCookie);
276 WARN(
"Failed to clone stream with error 0x%08x\n",
hres);
285 WARN(
"Failed to unmarshal stream\n");
324 IGlobalInterfaceTable_Release(git);
330 FIXME(
"(%d), stub!\n",fLock);
347 TRACE(
"Returning GIT classfactory\n");
369 if (!newGIT)
return NULL;
380 TRACE(
"Created the GIT at %p\n", newGIT);
399 IStream_Release(
entry->stream);
HRESULT WINAPI CoReleaseMarshalData(IStream *pStream)
static IGlobalInterfaceTable * std_git
static HRESULT WINAPI GITCF_LockServer(LPCLASSFACTORY iface, BOOL fLock)
void release_std_git(void)
HRESULT WINAPI CoUnmarshalInterface(IStream *pStream, REFIID riid, LPVOID *ppv)
static CRITICAL_SECTION git_section
static ULONG WINAPI GITCF_AddRef(LPCLASSFACTORY iface)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
HRESULT StdGlobalInterfaceTable_GetFactory(LPVOID *ppv)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
WINE_DEFAULT_DEBUG_CHANNEL(ole)
IGlobalInterfaceTable IGlobalInterfaceTable_iface
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
static HRESULT WINAPI GITCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pUnk, REFIID riid, LPVOID *ppv)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
IGlobalInterfaceTable * get_std_git(void)
#define InterlockedCompareExchangePointer
static HRESULT WINAPI StdGlobalInterfaceTable_QueryInterface(IGlobalInterfaceTable *iface, REFIID riid, void **ppvObject)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
static HRESULT WINAPI StdGlobalInterfaceTable_RegisterInterfaceInGlobal(IGlobalInterfaceTable *iface, IUnknown *pUnk, REFIID riid, DWORD *pdwCookie)
static HRESULT WINAPI StdGlobalInterfaceTable_RevokeInterfaceFromGlobal(IGlobalInterfaceTable *iface, DWORD dwCookie)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static ULONG WINAPI GITCF_Release(LPCLASSFACTORY iface)
static ULONG WINAPI StdGlobalInterfaceTable_AddRef(IGlobalInterfaceTable *iface)
REFIID LPVOID * ppvObject
LIST_ENTRY ProcessLocksList
static CRITICAL_SECTION_DEBUG critsect_debug
static StdGITEntry * StdGlobalInterfaceTable_FindEntry(StdGlobalInterfaceTableImpl *This, DWORD cookie)
static IClassFactory git_classfactory
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
static HRESULT WINAPI GITCF_QueryInterface(LPCLASSFACTORY iface, REFIID riid, LPVOID *ppv)
struct StdGlobalInterfaceTableImpl StdGlobalInterfaceTableImpl
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static ULONG WINAPI StdGlobalInterfaceTable_Release(IGlobalInterfaceTable *iface)
struct StdGITEntry StdGITEntry
static const IGlobalInterfaceTableVtbl StdGlobalInterfaceTableImpl_Vtbl
static HRESULT WINAPI StdGlobalInterfaceTable_GetInterfaceFromGlobal(IGlobalInterfaceTable *iface, DWORD dwCookie, REFIID riid, void **ppv)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
HRESULT WINAPI CoMarshalInterface(IStream *pStream, REFIID riid, IUnknown *pUnk, DWORD dwDestContext, void *pvDestContext, DWORD mshlFlags)
const GUID IID_IClassFactory
static const IClassFactoryVtbl GITClassFactoryVtbl
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
#define HeapFree(x, y, z)
#define IsEqualIID(riid1, riid2)
static StdGlobalInterfaceTableImpl * impl_from_IGlobalInterfaceTable(IGlobalInterfaceTable *iface)