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:
parent
cf9b984b84
commit
ea0b0bfea9
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
@ -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[]
|
||||
);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user