#include "idl_types.h" [ uuid(e3514235-4b06-11d1-ab04-00c04fc2dcd2), version(4.0), endpoints(lsass,protected_storage,TCP-0), helpstring("Active Directory Replication"), pointer_default(unique) ] interface drsuapi { /*****************/ /* Function 0x00 */ typedef [flag(NDR_PAHEX)] struct { uint32 length; [size_is(length)] uint8 data[]; } drsuapi_BindInfo; NTSTATUS drsuapi_DsBind( [in] GUID *server_guid, [in] uint32 unknown, [out] drsuapi_BindInfo *info, [out,ref] policy_handle *bind_handle ); /*****************/ /* Function 0x01 */ NTSTATUS drsuapi_DsUnbind( [in,out,ref] policy_handle *bind_handle ); /*****************/ /* Function 0x02 */ NTSTATUS DRSUAPI_REPLICA_SYNC(); /*****************/ /* Function 0x03 */ NTSTATUS DRSUAPI_GET_NC_CHANGES(); /*****************/ /* Function 0x04 */ NTSTATUS DRSUAPI_UPDATE_REFS(); /*****************/ /* Function 0x05 */ NTSTATUS DRSUAPI_REPLICA_ADD(); /*****************/ /* Function 0x06 */ NTSTATUS DRSUAPI_REPLICA_DEL(); /*****************/ /* Function 0x07 */ NTSTATUS DRSUAPI_REPLICA_MODIFY(); /*****************/ /* Function 0x08 */ NTSTATUS DRSUAPI_VERIFY_NAMES(); /*****************/ /* Function 0x09 */ NTSTATUS DRSUAPI_GET_MEMBERSHIPS(); /*****************/ /* Function 0x0a */ NTSTATUS DRSUAPI_INTER_DOMAIN_MOVE(); /*****************/ /* Function 0x0b */ NTSTATUS DRSUAPI_GET_NT4_CHANGELOG(); /*****************/ /* Function 0x0c */ typedef struct { unistr *str; } drsuapi_DsCrackNamesInInfo1Names; typedef struct { uint32 unknown1; uint32 unknown2; uint32 unknown3; uint32 unknown4; uint32 unknown5; [range(1,10000)] uint32 count; [size_is(count)] drsuapi_DsCrackNamesInInfo1Names *names; } drsuapi_DsCrackNamesInInfo1; typedef union { [case(1)] drsuapi_DsCrackNamesInInfo1 info1; } drsuapi_DsCrackNamesInInfo; typedef struct { uint32 unknown1; unistr *name1; unistr *name2; } drsuapi_DsCrackNamesOutInfo1Names; typedef struct { uint32 count; [size_is(count)] drsuapi_DsCrackNamesOutInfo1Names *names; } drsuapi_DsCrackNamesOutInfo1; typedef union { [case(1)] drsuapi_DsCrackNamesOutInfo1 *info1; } drsuapi_DsCrackNamesOutInfo; NTSTATUS drsuapi_DsCrackNames( [in,ref] policy_handle *bind_handle, [in, out] uint32 level, [in,switch_is(level)] drsuapi_DsCrackNamesInInfo in, [out,switch_is(level)] drsuapi_DsCrackNamesOutInfo out ); /*****************/ /* Function 0x0d */ NTSTATUS DRSUAPI_WRITE_SPN(); /*****************/ /* Function 0x0e */ NTSTATUS DRSUAPI_REMOVE_DS_SERVER(); /*****************/ /* Function 0x0f */ NTSTATUS DRSUAPI_REMOVE_DS_DOMAIN(); /*****************/ /* Function 0x10 */ NTSTATUS DRSUAPI_DOMAIN_CONTROLLER_INFO(); /*****************/ /* Function 0x11 */ NTSTATUS DRSUAPI_ADD_ENTRY(); /*****************/ /* Function 0x12 */ NTSTATUS DRSUAPI_EXECUTE_KCC(); /*****************/ /* Function 0x13 */ NTSTATUS DRSUAPI_GET_REPL_INFO(); /*****************/ /* Function 0x14 */ NTSTATUS DRSUAPI_ADD_SID_HISTORY(); /*****************/ /* Function 0x15 */ NTSTATUS DRSUAPI_GET_MEMBERSHIPS2(); /*****************/ /* Function 0x16 */ NTSTATUS DRSUAPI_REPLICA_VERIFY_OBJECTS(); /*****************/ /* Function 0x17 */ NTSTATUS DRSUAPI_GET_OBJECT_EXISTENCE(); /*****************/ /* Function 0x18 */ NTSTATUS DRSUAPI_QUERY_SITES_BY_COST(); }