다음을 통해 공유


NCryptStreamOpenToUnprotect 함수(ncryptprotect.h)

NCryptStreamOpenToUnprotect 함수는 대량의 데이터를 암호화에 사용되는 동일한 보호 설명자로 암호 해독하는 데 사용할 수 있는 스트림 개체를 엽니다. NCryptStreamUpdate를 호출하여 암호 해독을 수행합니다. 키 및 암호와 같은 더 작은 메시지의 암호를 해독하려면 NCryptUnprotectSecret을 호출합니다.

구문

SECURITY_STATUS NCryptStreamOpenToUnprotect(
  [in]           NCRYPT_PROTECT_STREAM_INFO *pStreamInfo,
                 DWORD                      dwFlags,
  [in, optional] HWND                       hWnd,
  [out]          NCRYPT_STREAM_HANDLE       *phStream
);

매개 변수

[in] pStreamInfo

암호 해독된 데이터를 수신하기 위한 사용자 정의 콜백 함수의 주소와 사용자 정의 컨텍스트 데이터에 대한 포인터를 포함하는 NCRYPT_PROTECT_STREAM_INFO 구조체 에 대한 포인터입니다.

dwFlags

키 서비스 공급자에 대한 추가 정보를 지정하는 플래그입니다. 이 값은 0 또는 다음 값일 수 있습니다.

의미
NCRYPT_SILENT_FLAG
키 서비스 공급자가 사용자 인터페이스를 표시하지 않도록 요청합니다.

[in, optional] hWnd

표시할 사용자 인터페이스의 부모 창(있는 경우)에 대한 핸들입니다.

[out] phStream

암호 해독된 데이터 스트림의 핸들에 대한 포인터입니다.

반환 값

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

반환 코드 설명
ERROR_SUCCESS
함수가 성공했습니다.
NTE_BAD_FLAGS
dwFlags 매개 변수에는 0 또는 NCRYPT_SILENT_FLAG 포함되어야 합니다.
NTE_INVALID_PARAMETER
phStreampStreamInfo 매개 변수는 NULL일 수 없습니다.

pStreamInfo 매개 변수가 가리키는 NCRYPT_PROTECT_STREAM_INFO 구조체의 pfnStreamOutput 멤버가 가리키는 콜백 함수는 NULL일 수 없습니다.

NTE_NO_MEMORY
데이터 스트림을 할당할 메모리가 부족했습니다.

설명

NCryptStreamOpenToUnprotect 함수는 큰 메시지를 암호화하는 데 사용할 수 있는 내부 스트림 개체를 만듭니다. 개체를 직접 사용할 수 없습니다. 대신 이 함수에서 반환된 개체 핸들을 사용해야 합니다.

NCryptStreamUpdate 함수를 호출하기 전에 이 함수를 호출합니다. 대용량 파일을 암호화하는 경우 블록별로 파일 블록을 통과하는 루프에서 NCryptStreamUpdate 를 사용하고, 블록이 진행될 때마다 각 블록을 암호화하고, 각 블록이 완료되면 콜백에 알립니다. 자세한 내용은 NCryptStreamUpdate를 참조하세요.

NCryptStreamOpenToUnprotect 함수는 스트림 헤더에서 암호화되지 않은 보호 설명자 규칙 문자열을 검색합니다. 규칙 문자열은 NCryptStreamOpenToUnprotect 함수에 의해 헤더에 배치됩니다.

요구 사항

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

추가 정보

CNG DPAPI 함수

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamClose

NCryptStreamOpenToProtect

NCryptStreamUpdate