}
+PSTR
+WINAPI
+NetpAllocAnsiStrFromWStr(
+ _In_ PWSTR InString)
+{
+ UNICODE_STRING UnicodeString;
+ ANSI_STRING AnsiString;
+ ULONG Size;
+ NET_API_STATUS NetStatus;
+ NTSTATUS Status;
+
+ RtlInitUnicodeString(&UnicodeString, InString);
+
+ Size = RtlUnicodeStringToAnsiSize(&UnicodeString);
+ NetStatus = NetApiBufferAllocate(Size,
+ (PVOID*)&AnsiString.Buffer);
+ if (NetStatus != NERR_Success)
+ return NULL;
+
+ Status = RtlUnicodeStringToAnsiString(&AnsiString,
+ &UnicodeString,
+ FALSE);
+ if (!NT_SUCCESS(Status))
+ {
+ NetApiBufferFree(AnsiString.Buffer);
+ return NULL;
+ }
+
+ return AnsiString.Buffer;
+}
+
+
PWSTR
WINAPI
NetpAllocWStrFromAnsiStr(