56 lines
2.4 KiB
C
56 lines
2.4 KiB
C
/*
|
|
* Missing public definitions from Ntsecapi.h
|
|
*/
|
|
|
|
|
|
typedef enum _LSA_SID_NAME_MAPPING_OPERATION_TYPE {
|
|
LsaSidNameMappingOperation_Add,
|
|
LsaSidNameMappingOperation_Remove,
|
|
LsaSidNameMappingOperation_AddMultiple,
|
|
} LSA_SID_NAME_MAPPING_OPERATION_TYPE, *PLSA_SID_NAME_MAPPING_OPERATION_TYPE;
|
|
|
|
typedef enum _LSA_SID_NAME_MAPPING_OPERATION_ERROR {
|
|
LsaSidNameMappingOperation_Success,
|
|
LsaSidNameMappingOperation_NonMappingError,
|
|
LsaSidNameMappingOperation_NameCollision,
|
|
LsaSidNameMappingOperation_SidCollision,
|
|
LsaSidNameMappingOperation_DomainNotFound,
|
|
LsaSidNameMappingOperation_DomainSidPrefixMismatch,
|
|
LsaSidNameMappingOperation_MappingNotFound,
|
|
} LSA_SID_NAME_MAPPING_OPERATION_ERROR, *PLSA_SID_NAME_MAPPING_OPERATION_ERROR;
|
|
|
|
typedef struct _LSA_SID_NAME_MAPPING_OPERATION_ADD_INPUT {
|
|
UNICODE_STRING DomainName;
|
|
UNICODE_STRING AccountName;
|
|
PSID Sid;
|
|
ULONG Flags;
|
|
} LSA_SID_NAME_MAPPING_OPERATION_ADD_INPUT, *PLSA_SID_NAME_MAPPING_OPERATION_ADD_INPUT;
|
|
|
|
typedef struct _LSA_SID_NAME_MAPPING_OPERATION_REMOVE_INPUT {
|
|
UNICODE_STRING DomainName;
|
|
UNICODE_STRING AccountName;
|
|
} LSA_SID_NAME_MAPPING_OPERATION_REMOVE_INPUT, *PLSA_SID_NAME_MAPPING_OPERATION_REMOVE_INPUT;
|
|
|
|
typedef union _LSA_SID_NAME_MAPPING_OPERATION_INPUT {
|
|
LSA_SID_NAME_MAPPING_OPERATION_ADD_INPUT AddInput;
|
|
LSA_SID_NAME_MAPPING_OPERATION_REMOVE_INPUT RemoveInput;
|
|
} LSA_SID_NAME_MAPPING_OPERATION_INPUT, *PLSA_SID_NAME_MAPPING_OPERATION_INPUT;
|
|
|
|
typedef struct _LSA_SID_NAME_MAPPING_OPERATION_GENERIC_OUTPUT {
|
|
LSA_SID_NAME_MAPPING_OPERATION_ERROR ErrorCode;
|
|
} LSA_SID_NAME_MAPPING_OPERATION_GENERIC_OUTPUT, *PLSA_SID_NAME_MAPPING_OPERATION_GENERIC_OUTPUT;
|
|
|
|
typedef LSA_SID_NAME_MAPPING_OPERATION_GENERIC_OUTPUT LSA_SID_NAME_MAPPING_OPERATION_ADD_OUTPUT, *PLSA_SID_NAME_MAPPING_OPERATION_ADD_OUTPUT;
|
|
typedef LSA_SID_NAME_MAPPING_OPERATION_GENERIC_OUTPUT LSA_SID_NAME_MAPPING_OPERATION_REMOVE_OUTPUT, *PLSA_SID_NAME_MAPPING_OPERATION_REMOVE_OUTPUT;
|
|
|
|
typedef union _LSA_SID_NAME_MAPPING_OPERATION_OUTPUT {
|
|
LSA_SID_NAME_MAPPING_OPERATION_ADD_OUTPUT AddOutput;
|
|
LSA_SID_NAME_MAPPING_OPERATION_REMOVE_OUTPUT RemoveOutput;
|
|
} LSA_SID_NAME_MAPPING_OPERATION_OUTPUT, *PLSA_SID_NAME_MAPPING_OPERATION_OUTPUT;
|
|
|
|
NTSTATUS WINAPI LsaManageSidNameMapping(
|
|
LSA_SID_NAME_MAPPING_OPERATION_TYPE OpType,
|
|
PLSA_SID_NAME_MAPPING_OPERATION_INPUT OpInput,
|
|
PLSA_SID_NAME_MAPPING_OPERATION_OUTPUT *OpOutput
|
|
);
|