LsaNtStatusToDosError implementation.
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index f432122..8684ccf 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -250,7 +250,7 @@
@ stdcall LsaOpenPolicy(long long long long) LsaOpenPolicy
@ stdcall LsaLookupSids(ptr long ptr ptr ptr) LsaLookupSids
@ stdcall LsaFreeMemory(ptr)LsaFreeMemory
-@ stdcall LsaQueryInformationPolicy(ptr long ptr)LsaQueryInformationPolicy
+@ stdcall LsaQueryInformationPolicy(ptr long ptr) LsaQueryInformationPolicy
@ stdcall LsaClose(ptr)LsaClose
@ stub LsaSetInformationPolicy
@ stub LsaLookupNames
@@ -301,6 +301,7 @@
@ stub LsaGetSystemAccessAccount
@ stub LsaSetInformationTrustedDomain
@ stub LsaEnumerateTrustedDomains
+@ stdcall LsaNtStatusToWinError(long) LsaNtStatusToWinError
@ stub LsaOpenAccount
@ stub LsaEnumeratePrivileges
@ stub LsaLookupPrivilegeDisplayName
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 3ae68a5..9bcacfc 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -22,6 +22,7 @@
#include "windef.h"
#include "winerror.h"
+#include "rpcnterr.h"
#include "heap.h"
#include "ntddk.h"
#include "ntsecapi.h"
@@ -917,6 +918,19 @@
FIXME("(%p):stub\n",ObjectHandle);
return 0xc0000000;
}
+
+/******************************************************************************
+ * LsaNtStatusToWinError [ADVAPI32.@]
+ *
+ * PARAMS
+ * Status [I]
+ */
+ULONG WINAPI
+LsaNtStatusToWinError(NTSTATUS Status)
+{
+ return RtlNtStatusToDosError(Status);
+}
+
/******************************************************************************
* NotifyBootConfigStatus [ADVAPI32.@]
*
diff --git a/include/ntsecapi.h b/include/ntsecapi.h
index 3c548b4..b7f08bd 100644
--- a/include/ntsecapi.h
+++ b/include/ntsecapi.h
@@ -69,6 +69,8 @@
NTSTATUS WINAPI LsaFreeMemory(PVOID);
NTSTATUS WINAPI LsaClose(IN LSA_HANDLE ObjectHandle);
+ULONG WINAPI LsaNtStatusToWinError(NTSTATUS Status);
+
#ifdef __cplusplus
} /* extern "C" */