1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-24 02:04:21 +03:00

r2740: Finish the RemoteActivation interface. Torture tests will follow

after pidl has been fixed (to be able to use input variables
inside size_is() for output variables)
This commit is contained in:
Jelmer Vernooij 2004-09-28 22:04:35 +00:00 committed by Gerald (Jerry) Carter
parent cf9b984b84
commit ea0b0bfea9
2 changed files with 11 additions and 20 deletions

View File

@ -242,7 +242,7 @@ interface ObjectRpcBaseTypes
{
} u_null;
typedef union
typedef [nodiscriminant] union
{
[case(OBJREF_NULL)] u_null u_null;
[case(OBJREF_STANDARD)] u_standard u_standard;
@ -262,7 +262,8 @@ interface ObjectRpcBaseTypes
// wire representation of a marshalled interface pointer
typedef [public] struct
{
[subcontext(4)] OBJREF abData; // data (OBJREF)
uint32 size;
[size_is(size)] uint8 data[];
} MInterfacePointer;
}
@ -365,7 +366,7 @@ interface IRemUnknown : IUnknown
object
] interface IClassActivator : IUnknown
{
void RemoteGetClassObject([in] GUID classid,
void RemoteGetClassObject([in] GUID clsid,
[in] uint32 context,
[in] LCID locale,
[in] GUID iid/*FIXME,
@ -380,11 +381,7 @@ interface IRemUnknown : IUnknown
]
interface ISystemActivator : IClassActivator
{
void ISystemActivatorRemoteCreateInstance(
[in] GUID classid,
[in] OBJREF obj,
[out] MInterfacePointer res
);
void ISystemActivatorRemoteCreateInstance();
}

View File

@ -14,14 +14,6 @@
]
interface IRemoteActivation
{
typedef [public] struct {
MInterfacePointer *ppInterfaceData;
} ppInterfaceDataArray;
typedef [public] struct {
DUALSTRINGARRAY *dualstringarray;
} REF_DUALSTRINGARRAY;
typedef struct {
/* Looks very much like a protocol tower to me, but it appears
to be aligned differently then it is in epmapper -jelmer
@ -31,6 +23,8 @@ interface IRemoteActivation
const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff;
HRESULT RemoteActivation (
[in] ORPCTHIS ORPCthis,
[out] ORPCTHAT ORPCthat,
[in] GUID Clsid,
[in, unique] unistr *pwszObjectName,
[in, unique] MInterfacePointer *pObjectStorage,
@ -40,13 +34,13 @@ interface IRemoteActivation
[in, unique,size_is(Interfaces)] GUID *pIIDs,
[in] uint16 num_protseqs,
[in, size_is(num_protseqs)] floor_tmp protseq[],
[out] GUID pOxid,
[out] HYPER_T pOxid,
[out] DUALSTRINGARRAY *pdsaOxidBindings,
[out] IPID ipidRemUnknown,
[out] uint32 pAuthnHint,
[out] COMVERSION pServerVersion,
[out] HRESULT *phr,
[out,size_is(Interfaces)] ppInterfaceDataArray *ppInterfaceData,
[out,size_is(Interfaces)] HRESULT *pResults
[out] HRESULT phr,
[out,size_is(Interfaces)] MInterfacePointer ifaces[],
[out,size_is(Interfaces)] HRESULT results[]
);
}