다음을 통해 공유


LSA 유니코드 문자열 사용

LSA 정책 함수 중 일부는 LSA_UNICODE_STRING 구조를 사용하여 문자열 정보를 저장합니다. 이 구조체는 문자열 및 해당 길이 정보를 저장합니다.

다음 코드는 LPWSTR 데이터를 LSA_UNICODE_STRING 구조체로 변환하는 함수를 구현합니다.

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