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