/* header auto-generated by pidl */

#ifndef _PIDL_HEADER_IRemoteActivation
#define _PIDL_HEADER_IRemoteActivation

#include <stdint.h>

#include "libcli/util/ntstatus.h"

#include "librpc/gen_ndr/misc.h"
#include "librpc/gen_ndr/orpc.h"
#ifndef _HEADER_IRemoteActivation
#define _HEADER_IRemoteActivation

#define MODE_GET_CLASS_OBJECT	( 0xffffffff )
enum imp_levels
#ifndef USE_UINT_ENUMS
 {
	RPC_C_IMP_LEVEL_DEFAULT=(int)(0),
	RPC_C_IMP_LEVEL_ANONYMOUS=(int)(1),
	RPC_C_IMP_LEVEL_IDENTIFY=(int)(2),
	RPC_C_IMP_LEVEL_IMPERSONATE=(int)(3),
	RPC_C_IMP_LEVEL_DELEGATE=(int)(4)
}
#else
 { __donnot_use_enum_imp_levels=0x7FFFFFFF}
#define RPC_C_IMP_LEVEL_DEFAULT ( 0 )
#define RPC_C_IMP_LEVEL_ANONYMOUS ( 1 )
#define RPC_C_IMP_LEVEL_IDENTIFY ( 2 )
#define RPC_C_IMP_LEVEL_IMPERSONATE ( 3 )
#define RPC_C_IMP_LEVEL_DELEGATE ( 4 )
#endif
;


struct RemoteActivation {
	struct {
		struct ORPCTHIS this_object;
		struct GUID Clsid;
		const char *pwszObjectName;/* [ref,charset(UTF16)] */
		struct MInterfacePointer *pObjectStorage;/* [ref] */
		uint32_t ClientImpLevel;
		uint32_t Mode;
		uint32_t Interfaces;/* [range(1,32768)] */
		struct GUID *pIIDs;/* [ref,size_is(Interfaces)] */
		uint16_t num_protseqs;
		uint16_t *protseq;/* [size_is(num_protseqs)] */
	} in;

	struct {
		struct ORPCTHAT *that;/* [ref] */
		uint64_t *pOxid;/* [ref] */
		struct DUALSTRINGARRAY *pdsaOxidBindings;/* [ref] */
		struct GUID *ipidRemUnknown;/* [ref] */
		uint32_t *AuthnHint;/* [ref] */
		struct COMVERSION *ServerVersion;/* [ref] */
		WERROR *hr;/* [ref] */
		struct MInterfacePointer **ifaces;/* [ref,size_is(Interfaces)] */
		WERROR *results;/* [size_is(Interfaces)] */
		WERROR result;
	} out;

};

#endif /* _HEADER_IRemoteActivation */
#endif /* _PIDL_HEADER_IRemoteActivation */
