70 LPPSFACTORYBUFFER pPSFactory,
76 TRACE(
"(%p,%p,%p,%p) %s\n", pUnkServer, vtbl, pPSFactory, ppStub,
name);
81 ERR(
"IID mismatch during stub creation\n");
85 r = IUnknown_QueryInterface(pUnkServer,
riid, (
void**)&pvServer);
91 IUnknown_Release(pvServer);
97 This->pvServerObject = pvServer;
98 This->pPSFactory = pPSFactory;
101 IPSFactoryBuffer_AddRef(pPSFactory);
108 const void **
entry = (
const void **)(vtbl + 1);
113 FIXME(
"%lu methods not supported\n",
num );
119 for (
i = 0;
i <
num - 3;
i++)
128 FIXME(
"%lu methods not supported\n",
num );
139 LPPSFACTORYBUFFER pPSFactory,
146 TRACE(
"(%p,%p,%p,%p) %s\n", pUnkServer, vtbl, pPSFactory, ppStub,
name);
152 ERR(
"IID mismatch during stub creation\n");
156 r = IUnknown_QueryInterface(pUnkServer,
riid, (
void**)&pvServer);
162 IUnknown_Release(pvServer);
171 IUnknown_Release(pvServer);
175 This->stub_buffer.lpVtbl = &vtbl->
Vtbl;
176 This->stub_buffer.RefCount = 1;
177 This->stub_buffer.pvServerObject = pvServer;
178 This->stub_buffer.pPSFactory = pPSFactory;
181 IPSFactoryBuffer_AddRef(pPSFactory);
195 IRpcStubBuffer_AddRef(iface);
211 LPPSFACTORYBUFFER pPSF)
223 IRpcStubBuffer_Disconnect(iface);
225 IPSFactoryBuffer_Release(pPSF);
232 LPPSFACTORYBUFFER pPSF)
246 IRpcStubBuffer_Release(
This->base_stub);
247 IPSFactoryBuffer_Release(pPSF);
261 TRACE(
"(%p)->Connect(%p)\n",
This,lpUnkServer);
266 IUnknown_Release(
new);
279 IUnknown_Release(old);
291 TRACE(
"(%p)->Invoke(%p,%p)\n",
This,pMsg,pChannel);
295 if (
header->pDispatchTable)
303 WARN(
"a stub call failed with exception 0x%08lx (%ld)\n", dwExceptionCode, dwExceptionCode);
304 if (
FAILED(dwExceptionCode))
305 hr = dwExceptionCode;
330 return This->RefCount;
337 TRACE(
"(%p)->DebugServerQueryInterface(%p)\n",
This,
ppv);
345 TRACE(
"(%p)->DebugServerRelease(%p)\n",
This,pv);
367 TRACE(
"(%p)->Connect(%p)\n",
This, lpUnkServer);
381 IRpcStubBuffer_Disconnect(
This->base_stub);
392 ret += IRpcStubBuffer_CountRefs(
This->base_stub);
427 HRESULT r = IRpcStubBuffer_Invoke(
This->base_stub, (RPCOLEMESSAGE*)pMsg, pChannel);
440 TRACE(
"(%p,%p,%p,%p)\n", pRpcMsg, pStubMsg, pStubDescriptor, pRpcChannelBuffer);
458 TRACE(
"(%p, %p, %p)\n",
This, pRpcChannelBuffer, pStubMsg);
461 hr = IRpcChannelBuffer_GetBuffer(pRpcChannelBuffer,
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
ULONG WINAPI IUnknown_AddRef_Proxy(LPUNKNOWN iface)
ULONG WINAPI IUnknown_Release_Proxy(LPUNKNOWN iface)
HRESULT WINAPI IUnknown_QueryInterface_Proxy(LPUNKNOWN iface, REFIID riid, LPVOID *ppvObj)
HRESULT create_stub(REFIID iid, IUnknown *pUnk, IRpcStubBuffer **ppstub)
static CStdStubBuffer * impl_from_IRpcStubBuffer(IRpcStubBuffer *iface)
static void WINAPI CStdStubBuffer_Delegating_Disconnect(LPRPCSTUBBUFFER iface)
const MIDL_SERVER_INFO * CStdStubBuffer_GetServerInfo(IRpcStubBuffer *iface)
ULONG WINAPI CStdStubBuffer_CountRefs(LPRPCSTUBBUFFER iface)
void WINAPI CStdStubBuffer_DebugServerRelease(LPRPCSTUBBUFFER iface, LPVOID pv)
HRESULT WINAPI CStdStubBuffer_QueryInterface(LPRPCSTUBBUFFER iface, REFIID riid, LPVOID *obj)
HRESULT CStdStubBuffer_Construct(REFIID riid, LPUNKNOWN pUnkServer, PCInterfaceName name, CInterfaceStubVtbl *vtbl, LPPSFACTORYBUFFER pPSFactory, LPRPCSTUBBUFFER *ppStub)
const IRpcStubBufferVtbl CStdStubBuffer_Delegating_Vtbl
ULONG WINAPI CStdStubBuffer_AddRef(LPRPCSTUBBUFFER iface)
BOOL fill_delegated_proxy_table(IUnknownVtbl *vtbl, DWORD num)
HRESULT CStdStubBuffer_Delegating_Construct(REFIID riid, LPUNKNOWN pUnkServer, PCInterfaceName name, CInterfaceStubVtbl *vtbl, REFIID delegating_iid, LPPSFACTORYBUFFER pPSFactory, LPRPCSTUBBUFFER *ppStub)
void WINAPI NdrStubGetBuffer(LPRPCSTUBBUFFER iface, LPRPCCHANNELBUFFER pRpcChannelBuffer, PMIDL_STUB_MESSAGE pStubMsg)
void __RPC_STUB NdrStubForwardingFunction(IRpcStubBuffer *iface, IRpcChannelBuffer *pChannel, PRPC_MESSAGE pMsg, DWORD *pdwStubPhase)
const IUnknownVtbl * get_delegating_vtbl(DWORD num)
void WINAPI NdrStubInitialize(PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, LPRPCCHANNELBUFFER pRpcChannelBuffer)
void WINAPI CStdStubBuffer_Disconnect(LPRPCSTUBBUFFER iface)
static ULONG WINAPI CStdStubBuffer_Delegating_CountRefs(LPRPCSTUBBUFFER iface)
static HRESULT WINAPI CStdStubBuffer_Delegating_Connect(LPRPCSTUBBUFFER iface, LPUNKNOWN lpUnkServer)
LPRPCSTUBBUFFER WINAPI CStdStubBuffer_IsIIDSupported(LPRPCSTUBBUFFER iface, REFIID riid)
const IRpcStubBufferVtbl CStdStubBuffer_Vtbl
static const CInterfaceStubHeader * get_stub_header(const CStdStubBuffer *stub)
HRESULT WINAPI CStdStubBuffer_Invoke(LPRPCSTUBBUFFER iface, PRPCOLEMESSAGE pMsg, LPRPCCHANNELBUFFER pChannel)
static LONG WINAPI stub_filter(EXCEPTION_POINTERS *eptr)
static cstdstubbuffer_delegating_t * impl_from_delegating(IRpcStubBuffer *iface)
ULONG WINAPI NdrCStdStubBuffer2_Release(LPRPCSTUBBUFFER iface, LPPSFACTORYBUFFER pPSF)
HRESULT WINAPI CStdStubBuffer_DebugServerQueryInterface(LPRPCSTUBBUFFER iface, LPVOID *ppv)
ULONG WINAPI NdrCStdStubBuffer_Release(LPRPCSTUBBUFFER iface, LPPSFACTORYBUFFER pPSF)
HRESULT WINAPI CStdStubBuffer_Connect(LPRPCSTUBBUFFER iface, LPUNKNOWN lpUnkServer)
#define InterlockedExchangePointer(Target, Value)
GLdouble GLdouble GLdouble r
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define EXCEPTION_EXECUTE_HANDLER
#define EXCEPTION_CONTINUE_SEARCH
unsigned char *WINAPI NdrServerInitializeNew(PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc)
LONG WINAPI NdrStubCall2(struct IRpcStubBuffer *pThis, struct IRpcChannelBuffer *pChannel, PRPC_MESSAGE pRpcMsg, DWORD *pdwStubPhase)
interface IRpcStubBuffer * LPRPCSTUBBUFFER
interface IRpcChannelBuffer * LPRPCCHANNELBUFFER
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
struct _RPC_MESSAGE * PRPC_MESSAGE
const char * PCInterfaceName
void DECLSPEC_NORETURN WINAPI RpcRaiseException(RPC_STATUS exception)
PEXCEPTION_RECORD ExceptionRecord
struct IRpcChannelBuffer * pRpcChannelBuffer
unsigned int BufferLength
const void * methods[NB_THUNK_ENTRIES - 3]
CInterfaceStubHeader header
#define EXCEPTION_NONCONTINUABLE
#define CONTAINING_RECORD(address, type, field)
static HRESULT HRESULT_FROM_WIN32(unsigned int x)