NCryptCreateProtectionDescriptor 함수(ncryptprotect.h)

NCryptCreateProtectionDescriptor 함수는 보호 설명자 개체에 대한 핸들을 검색합니다.

구문

SECURITY_STATUS NCryptCreateProtectionDescriptor(
  [in]  LPCWSTR                  pwszDescriptorString,
  [in]  DWORD                    dwFlags,
  [out] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor
);

매개 변수

[in] pwszDescriptorString

보호 설명자 규칙 문자열 또는 규칙에 대해 등록된 표시 이름을 포함하는 Null로 종료된 유니코드 문자열입니다.

표시 이름을 지정하고 이 함수가 레지스트리에서 연결된 보호 설명자 규칙 문자열을 찾으려면 dwFlags 매개 변수를 NCRYPT_NAMED_DESCRIPTOR_FLAG 설정해야 합니다.

[in] dwFlags

pwszDescriptorString의 문자열이 보호 설명자의 표시 이름을 나타내는지 여부를 지정하는 플래그이며, 이 경우 레지스트리에서 함수는 연결된 보호 규칙 문자열을 검색해야 합니다. 다음 값 조합을 설정할 수 있습니다.

  • pwszDescriptorString 매개 변수에 설정된 값이 표시 이름이 아닌 완전한 보호 설명자 규칙 문자열임을 나타내려면 dwFlags 매개 변수를 0으로 설정합니다.
  • 문자열이 표시 이름이며 연결된 설명자 규칙 문자열과 함께 HKEY_LOCAL_MACHINE 레지스트리 하이브, 비트 OR NCRYPT_NAMED_DESCRIPTOR_FLAG 값 및 NCRYPT_MACHINE_KEY_FLAG 값에 저장됨을 나타냅니다.
  • 문자열이 표시 이름이고 문자열이 연결된 설명자 문자열 규칙과 함께 저장됨을 나타내려면 HKEY_CURRENT_USER 레지스트리 하이브에서 NCRYPT_NAMED_DESCRIPTOR_FLAG 값만 설정합니다. 즉, 현재 사용자 레지스트리 하이브를 지정하는 고유 플래그가 없습니다.
참고 설명자 규칙을 표시 이름과 연결하고 레지스트리에 둘 다 저장하려면 NCryptRegisterProtectionDescriptorName 함수를 호출합니다.
 

[out] phDescriptor

보호 설명자 개체 핸들에 대한 포인터입니다.

반환 값

함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다. 가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 설명
ERROR_SUCCESS
함수가 성공했습니다.
NTE_INVALID_PARAMETER
phDescriptor 매개 변수는 NULL일 수 없습니다.

pwszDescriptorString 매개 변수는 NULL일 수 없으며 빈 따끔거릴 수 없습니다.

NTE_BAD_FLAGS
dwFlags 매개 변수는 NCRYPT_MACHINE_KEY_FLAG 또는 NCRYPT_NAMED_DESCRIPTOR_FLAG 합니다.
NTE_NO_MEMORY
등록된 보호 설명자 문자열을 검색하기 위해 메모리를 할당할 수 없습니다.
NTE_NOT_FOUND
pwszDescriptorString 매개 변수에 지정된 보호 설명자 이름을 찾을 수 없습니다.

설명

이 함수에서 만든 보호 설명자 개체는 설명자에 대한 정보를 포함하는 내부 데이터 구조입니다. 직접 사용할 수 없습니다. 그러나 애플리케이션은 다음 함수에서 반환된 핸들을 사용할 수 있습니다.

다음 예제에서는 보호 설명자 규칙 문자열을 보여 줍니다.
  • "SID=S-1-5-21-4392301 및 SID=S-1-5-21-3101812"
  • "SDDL=O:S-1-5-5-0-290724G:SYD:(A;; CCDC;;; S-1-5-5-0-290724)(A;; Dc;;; WD)"
  • "LOCAL=user"
  • "LOCAL=machine"
  • "WEBCREDENTIALS=MyPasswordName"
  • "WEBCREDENTIALS=MyPasswordName,myweb.com"
NCryptRegisterProtectionDescriptorName 함수를 사용하여 표시 이름을 규칙 문자열과 연결하고 레지스트리에 둘 다 저장할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ncryptprotect.h
라이브러리 NCrypt.lib
DLL NCrypt.dll

추가 정보

CNG DPAPI 함수