[IDL][LSASRV] Improve the credentials interface a little and update the lsa server code accordingly.

This commit is contained in:
Eric Kohl 2018-09-18 15:55:18 +02:00
parent 47854962ac
commit da73c81259
2 changed files with 79 additions and 19 deletions

View file

@ -1409,7 +1409,7 @@ LsarpOpenAccount(
AccountObject); AccountObject);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
ERR("LsapOpenDbObject failed (Status 0x%08lx)\n", Status); ERR("LsapOpenDbObject(Accounts/%S) failed (Status 0x%08lx)\n", SidString, Status);
} }
if (SidString != NULL) if (SidString != NULL)
@ -3918,8 +3918,13 @@ NTSTATUS WINAPI CredrReadDomainCredentials(
/* Function 65 */ /* Function 65 */
NTSTATUS WINAPI CredrDelete( NTSTATUS
handle_t hBinding) WINAPI
CredrDelete(
handle_t hBinding,
LPWSTR TargetName,
DWORD Type,
DWORD Flags)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
@ -3927,8 +3932,13 @@ NTSTATUS WINAPI CredrDelete(
/* Function 66 */ /* Function 66 */
NTSTATUS WINAPI CredrGetTargetInfo( NTSTATUS
handle_t hBinding) WINAPI
CredrGetTargetInfo(
handle_t hBinding,
LPWSTR TargetName,
DWORD Flags,
CREDPR_TARGET_INFORMATION *TargetInformation)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
@ -3936,7 +3946,9 @@ NTSTATUS WINAPI CredrGetTargetInfo(
/* Function 67 */ /* Function 67 */
NTSTATUS WINAPI CredrProfileLoaded( NTSTATUS
WINAPI
CredrProfileLoaded(
handle_t hBinding) handle_t hBinding)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -3983,8 +3995,12 @@ NTSTATUS WINAPI LsarLookupNames3(
/* Function 69 */ /* Function 69 */
NTSTATUS WINAPI CredrGetSessionTypes( NTSTATUS
handle_t hBinding) WINAPI
CredrGetSessionTypes(
handle_t hBinding,
DWORD MaximumPersistCount,
DWORD *MaximumPersist)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
@ -4045,8 +4061,14 @@ NTSTATUS WINAPI LsarSetForestTrustInformation(
/* Function 75 */ /* Function 75 */
NTSTATUS WINAPI CredrRename( NTSTATUS
handle_t hBinding) WINAPI
CredrRename(
handle_t hBinding,
LPWSTR OldTargetName,
LPWSTR NewTargetName,
DWORD Type,
DWORD Flags)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;

View file

@ -581,6 +581,22 @@ typedef struct _LSA_FOREST_TRUST_COLLISION_INFORMATION {
} LSA_FOREST_TRUST_COLLISION_INFORMATION, *PLSA_FOREST_TRUST_COLLISION_INFORMATION; } LSA_FOREST_TRUST_COLLISION_INFORMATION, *PLSA_FOREST_TRUST_COLLISION_INFORMATION;
cpp_quote("#endif") cpp_quote("#endif")
/* Credentials */
typedef struct _CREDPR_TARGET_INFORMATION
{
LPWSTR TargetName;
LPWSTR NetbiosServerName;
LPWSTR DnsServerName;
LPWSTR NetbiosDomainName;
LPWSTR DnsDomainName;
LPWSTR DnsTreeName;
LPWSTR PackageName;
ULONG Flags;
} CREDPR_TARGET_INFORMATION, *PCREDPR_TARGET_INFORMATION;
[ [
uuid(12345778-1234-abcd-ef00-0123456789ab), uuid(12345778-1234-abcd-ef00-0123456789ab),
version(0.0), version(0.0),
@ -1007,15 +1023,27 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
[in] handle_t hBinding); /* FIXME */ [in] handle_t hBinding); /* FIXME */
/* Function 65 */ /* Function 65 */
NTSTATUS __stdcall CredrDelete( NTSTATUS
[in] handle_t hBinding); /* FIXME */ __stdcall
CredrDelete(
[in] handle_t hBinding,
[in, unique, string] LPWSTR TargetName,
[in] DWORD Type,
[in] DWORD Flags); /* FIXME */
/* Function 66 */ /* Function 66 */
NTSTATUS __stdcall CredrGetTargetInfo( NTSTATUS
[in] handle_t hBinding); /* FIXME */ __stdcall
CredrGetTargetInfo(
[in] handle_t hBinding,
[in, unique, string] LPWSTR TargetName,
[in] DWORD Flags,
[out] CREDPR_TARGET_INFORMATION *TargetInformation); /* FIXME */
/* Function 67 */ /* Function 67 */
NTSTATUS __stdcall CredrProfileLoaded( NTSTATUS
__stdcall
CredrProfileLoaded(
[in] handle_t hBinding); /* FIXME */ [in] handle_t hBinding); /* FIXME */
/* Function 68 */ /* Function 68 */
@ -1031,8 +1059,12 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
[in] DWORD ClientRevision); [in] DWORD ClientRevision);
/* Function 69 */ /* Function 69 */
NTSTATUS __stdcall CredrGetSessionTypes( NTSTATUS
[in] handle_t hBinding); /* FIXME */ __stdcall
CredrGetSessionTypes(
[in] handle_t hBinding,
[in] DWORD MaximumPersistCount,
[out, size_is(MaximumPersistCount)] DWORD *MaximumPersist); /* FIXME */
/* Function 70 */ /* Function 70 */
NTSTATUS __stdcall LsarRegisterAuditEvent( NTSTATUS __stdcall LsarRegisterAuditEvent(
@ -1063,8 +1095,14 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
[out] PLSA_FOREST_TRUST_COLLISION_INFORMATION *CollisionInfo); [out] PLSA_FOREST_TRUST_COLLISION_INFORMATION *CollisionInfo);
/* Function 75 */ /* Function 75 */
NTSTATUS __stdcall CredrRename( NTSTATUS
[in] handle_t hBinding); /* FIXME */ __stdcall
CredrRename(
[in] handle_t hBinding,
[in, unique, string] LPWSTR OldTargetName,
[in, unique, string] LPWSTR NewTargetName,
[in] DWORD Type,
[in] DWORD Flags); /* FIXME */
/* Function 76 */ /* Function 76 */
NTSTATUS __stdcall LsarLookupSids3( NTSTATUS __stdcall LsarLookupSids3(