Verwenden von LSA-Unicode-Zeichenfolgen
Mehrere LSA-Richtlinienfunktionen verwenden die LSA_UNICODE_STRING-Struktur , um Zeichenfolgeninformationen zu speichern. Diese Struktur speichert die Zeichenfolge und ihre Längeninformationen.
Der folgende Code implementiert eine Funktion, die LPWSTR-Daten in LSA_UNICODE_STRING Strukturen konvertiert:
#include <windows.h>
bool InitLsaString(
PLSA_UNICODE_STRING pLsaString,
LPCWSTR pwszString
)
{
DWORD dwLen = 0;
if (NULL == pLsaString)
return FALSE;
if (NULL != pwszString)
{
dwLen = wcslen(pwszString);
if (dwLen > 0x7ffe) // String is too large
return FALSE;
}
// Store the string.
pLsaString->Buffer = (WCHAR *)pwszString;
pLsaString->Length = (USHORT)dwLen * sizeof(WCHAR);
pLsaString->MaximumLength= (USHORT)(dwLen+1) * sizeof(WCHAR);
return TRUE;
}