Freigeben über


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;
}