diff --git a/dlls/ole32/compobj_private.h b/dlls/ole32/compobj_private.h index b316636c2c9..ef7c8267cec 100644 --- a/dlls/ole32/compobj_private.h +++ b/dlls/ole32/compobj_private.h @@ -118,18 +118,9 @@ extern HRESULT create_marshalled_proxy(REFCLSID rclsid, REFIID iid, LPVOID *ppv) extern void* StdGlobalInterfaceTableInstance; -inline static HRESULT -get_facbuf_for_iid(REFIID riid,IPSFactoryBuffer **facbuf) { - HRESULT hres; - CLSID pxclsid; - - if ((hres = CoGetPSClsid(riid,&pxclsid))) - return hres; - return CoGetClassObject(&pxclsid,CLSCTX_INPROC_SERVER,NULL,&IID_IPSFactoryBuffer,(LPVOID*)facbuf); -} - #define PIPEPREF "\\\\.\\pipe\\" #define OLESTUBMGR PIPEPREF"WINE_OLE_StubMgr" + /* Standard Marshalling definitions */ typedef struct _wine_marshal_id { DWORD processid; @@ -156,41 +147,9 @@ MARSHAL_Compare_Mids_NoInterface(wine_marshal_id *mid1, wine_marshal_id *mid2) { } HRESULT MARSHAL_Find_Stub_Buffer(wine_marshal_id *mid,IRpcStubBuffer **stub); -HRESULT MARSHAL_Find_Stub_Server(wine_marshal_id *mid,LPUNKNOWN *punk); -HRESULT MARSHAL_Register_Stub(wine_marshal_id *mid,LPUNKNOWN punk, IRpcStubBuffer *stub); HRESULT MARSHAL_GetStandardMarshalCF(LPVOID *ppv); -typedef struct _wine_marshal_data { - DWORD dwDestContext; - DWORD mshlflags; -} wine_marshal_data; - - -#define REQTYPE_REQUEST 0 -typedef struct _wine_rpc_request_header { - DWORD reqid; - wine_marshal_id mid; - DWORD iMethod; - DWORD cbBuffer; -} wine_rpc_request_header; - -#define REQTYPE_RESPONSE 1 -typedef struct _wine_rpc_response_header { - DWORD reqid; - DWORD cbBuffer; - DWORD retval; -} wine_rpc_response_header; - -#define REQSTATE_START 0 -#define REQSTATE_REQ_QUEUED 1 -#define REQSTATE_REQ_WAITING_FOR_REPLY 2 -#define REQSTATE_REQ_GOT 3 -#define REQSTATE_INVOKING 4 -#define REQSTATE_RESP_QUEUED 5 -#define REQSTATE_RESP_GOT 6 -#define REQSTATE_DONE 6 - void STUBMGR_Start(); extern HRESULT PIPE_GetNewPipeBuf(wine_marshal_id *mid, IRpcChannelBuffer **pipebuf); diff --git a/dlls/ole32/marshal.c b/dlls/ole32/marshal.c index b8837171759..5fc50a3b777 100644 --- a/dlls/ole32/marshal.c +++ b/dlls/ole32/marshal.c @@ -58,6 +58,21 @@ extern const CLSID CLSID_DfMarshal; * Note that the IUnknown_QI(ob,xiid,&ppv) always returns the SAME ppv value! */ +inline static HRESULT +get_facbuf_for_iid(REFIID riid,IPSFactoryBuffer **facbuf) { + HRESULT hres; + CLSID pxclsid; + + if ((hres = CoGetPSClsid(riid,&pxclsid))) + return hres; + return CoGetClassObject(&pxclsid,CLSCTX_INPROC_SERVER,NULL,&IID_IPSFactoryBuffer,(LPVOID*)facbuf); +} + +typedef struct _wine_marshal_data { + DWORD dwDestContext; + DWORD mshlflags; +} wine_marshal_data; + typedef struct _mid2unknown { wine_marshal_id mid; LPUNKNOWN pUnk; diff --git a/dlls/ole32/oleproxy.c b/dlls/ole32/oleproxy.c index ef1b2e2e3a7..6b6a915cfe3 100644 --- a/dlls/ole32/oleproxy.c +++ b/dlls/ole32/oleproxy.c @@ -512,10 +512,6 @@ HRESULT WINAPI OLE32_DllGetClassObject(REFCLSID rclsid, REFIID iid,LPVOID *ppv) *ppv = NULL; if (IsEqualIID(rclsid,&CLSID_PSFactoryBuffer)) { *ppv = &lppsfac; - /* If we create a ps factory, we might need a stub manager later - * anyway - */ - STUBMGR_Start(); return S_OK; } if (IsEqualIID(rclsid,&CLSID_DfMarshal)&&( diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c index d7e2ff8101d..70d32dea6ec 100644 --- a/dlls/ole32/rpc.c +++ b/dlls/ole32/rpc.c @@ -50,6 +50,30 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole); +#define REQTYPE_REQUEST 0 +typedef struct _wine_rpc_request_header { + DWORD reqid; + wine_marshal_id mid; + DWORD iMethod; + DWORD cbBuffer; +} wine_rpc_request_header; + +#define REQTYPE_RESPONSE 1 +typedef struct _wine_rpc_response_header { + DWORD reqid; + DWORD cbBuffer; + DWORD retval; +} wine_rpc_response_header; + +#define REQSTATE_START 0 +#define REQSTATE_REQ_QUEUED 1 +#define REQSTATE_REQ_WAITING_FOR_REPLY 2 +#define REQSTATE_REQ_GOT 3 +#define REQSTATE_INVOKING 4 +#define REQSTATE_RESP_QUEUED 5 +#define REQSTATE_RESP_GOT 6 +#define REQSTATE_DONE 6 + typedef struct _wine_rpc_request { int state; HANDLE hPipe; /* temp copy of handle */