1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-16 00:23:52 +03:00

r3689: Large number of COM updates:

- Work on server side and local COM support (should work, just no
	  example classes yet)
 - Use vtables so that local and remote calls can be used transparently
 - Generate 'proxies and stubs' rather then heavily modified code in client.pm and server.pm. proxies (client side code) are generated in proxy.pm, stubs (server side dispatchers) are generated in stubs.pm
 - Support registering classes and interfaces
 - DCOM interfaces no longer have to be in the same IDL file as their
    base interface, which will allow us to split up dcom.idl
This commit is contained in:
Jelmer Vernooij
2004-11-12 00:48:24 +00:00
committed by Gerald (Jerry) Carter
parent ab12134286
commit 7466947a23
18 changed files with 800 additions and 360 deletions

View File

@@ -25,7 +25,6 @@
#include "rpc_server/common/common.h"
#include "librpc/gen_ndr/ndr_remact.h"
#include "librpc/gen_ndr/ndr_oxidresolver.h"
#include "rpc_server/dcom/dcom.h"
struct dcom_interface_pointer *dcom_interface_pointer_by_ipid(struct GUID *ipid)
{
@@ -38,9 +37,9 @@ struct dcom_interface_pointer *dcom_interface_pointer_by_ipid(struct GUID *ipid)
*/
static WERROR RemoteActivation(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct RemoteActivation *r)
{
struct IClassFactory_CreateInstance *cr;
struct IUnknown_Release *ur;
struct dcom_interface *o;
struct CreateInstance *cr;
struct Release *ur;
struct dcom_interface_p *o;
int i;
/* FIXME: CoGetClassObject() */
@@ -61,9 +60,9 @@ static WERROR RemoteActivation(struct dcesrv_call_state *dce_call, TALLOC_CTX *m
r->out.hr = cr->out.result;
for (i = 0; i < r->in.Interfaces; i++) {
struct IUnknown_QueryInterface rr;
struct QueryInterface rr;
rr.in.iid = &r->in.pIIDs[i];
dcerpc_IUnknown_QueryInterface(o, mem_ctx, &rr);
dcom_IUnknown_QueryInterface(o, mem_ctx, &rr);
ZERO_STRUCT(r->out.ifaces[i]);
r->out.results[i] = rr.out.result;
}