Функция LsaRetrievePrivateData (ntsecapi.h)

Не используйте функции частных данных LSA для универсального шифрования и расшифровки данных. Вместо этого используйте функции CryptProtectData и CryptUnprotectData . Используйте функции частных данных LSA, только если необходимо управлять секретами LSA, как описано в статье Secret Object Data Model (Модель секретных объектных данных).

Синтаксис

NTSTATUS LsaRetrievePrivateData(
  [in]  LSA_HANDLE          PolicyHandle,
  [in]  PLSA_UNICODE_STRING KeyName,
  [out] PLSA_UNICODE_STRING *PrivateData
);

Параметры

[in] PolicyHandle

Дескриптор объекта Policy . Дескриптор должен иметь право доступа POLICY_GET_PRIVATE_INFORMATION. Дополнительные сведения см. в разделе Открытие дескриптора объекта политики.

[in] KeyName

Указатель на структуру LSA_UNICODE_STRING , содержащую имя ключа, в котором хранятся частные данные.

Чтобы создать специализированный объект, добавьте один из следующих префиксов к имени ключа.

Prefix Значение
L$
Для локальных объектов.
G$
Для глобальных объектов.
M$
Для объектов-компьютеров.
 

Если вы не создаете один из этих специализированных типов, указывать префикс имени ключа не нужно. Дополнительные сведения см. в разделе Частный объект данных.

[out] PrivateData

Указатель на переменную, получающую указатель на LSA_UNICODE_STRING структуру, содержащую частные данные.

Если сведения больше не нужны, передайте возвращенный указатель в LsaFreeMemory.

Возвращаемое значение

Если функция завершается успешно, функция возвращает STATUS_SUCCESS.

Если функция завершается сбоем, она возвращает значение NTSTATUS , которое может быть следующим значением или одним из возвращаемых значений функции политики LSA.

Код возврата Описание
STATUS_OBJECT_NAME_NOT_FOUND
Частные данные не хранятся под именем, указанным параметром KeyName .
 

Для преобразования значения NTSTATUS в код ошибки Windows можно использовать функцию LsaNtStatusToWinError.

Комментарии

Этот процесс необходимо запустить в качестве администратора, в противном случае вызов завершается сбоем с ERROR_ACCESS_DENIED.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntsecapi.h
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

LSA_UNICODE_STRING

LsaFreeMemory

LsaStorePrivateData