NCryptStreamOpenToProtect 함수(ncryptprotect.h)
NCryptStreamOpenToProtect 함수는 지정된 보호 설명자로 대량의 데이터를 암호화하는 데 사용할 수 있는 스트림 개체를 엽니다. NCryptStreamUpdate를 호출하여 콘텐츠를 암호화합니다. 키 및 암호와 같은 더 작은 메시지를 암호화하려면 NCryptProtectSecret을 호출합니다.
구문
SECURITY_STATUS NCryptStreamOpenToProtect(
[in] NCRYPT_DESCRIPTOR_HANDLE hDescriptor,
DWORD dwFlags,
[in, optional] HWND hWnd,
[in] NCRYPT_PROTECT_STREAM_INFO *pStreamInfo,
[out] NCRYPT_STREAM_HANDLE *phStream
);
매개 변수
[in] hDescriptor
보호 설명자의 핸들입니다. NCryptCreateProtectionDescriptor를 호출하여 핸들을 만듭니다.
dwFlags
플래그는 0 또는 다음 값일 수 있습니다.
값 | 의미 |
---|---|
|
키 서비스 공급자가 사용자 인터페이스를 표시하지 않도록 요청합니다. |
[in, optional] hWnd
표시할 사용자 인터페이스의 부모 창(있는 경우)에 대한 핸들입니다.
[in] pStreamInfo
암호화된 데이터를 수신하는 사용자 정의 콜백 함수의 주소와 사용자 정의 컨텍스트 데이터에 대한 포인터를 포함하는 NCRYPT_PROTECT_STREAM_INFO 구조체 에 대한 포인터입니다.
[out] phStream
스트림 개체 핸들에 대한 포인터입니다.
반환 값
함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다. 가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
|
함수가 성공했습니다. |
|
dwFlags 매개 변수에는 0, NCRYPT_MACHINE_KEY_FLAG 또는 NCRYPT_SILENT_FLAG 포함되어야 합니다. |
|
hDescriptor 매개 변수로 지정된 핸들이 잘못되었습니다. |
|
phStream 및 pStreamInfo 매개 변수는 NULL일 수 없습니다.
pStreamInfo 매개 변수가 가리키는 NCRYPT_PROTECT_STREAM_INFO 구조체의 pfnStreamOutput 멤버가 가리키는 콜백 함수는 NULL일 수 없습니다. |
|
데이터 스트림을 할당할 메모리가 부족했습니다. |
설명
NCryptStreamOpenToProtect 함수는 큰 메시지를 암호화하는 데 사용할 수 있는 내부 스트림 개체를 만듭니다. 개체를 직접 사용할 수 없습니다. 대신 이 함수에서 반환된 개체 핸들을 사용해야 합니다.
NCryptStreamUpdate 함수를 호출하기 전에 이 함수를 호출합니다. 대용량 파일을 암호화하는 경우 블록별로 파일 블록을 통과하는 루프에서 NCryptStreamUpdate 를 사용하고, 블록이 진행될 때마다 각 블록을 암호화하고, 각 블록이 완료되면 콜백에 알립니다. 자세한 내용은 NCryptStreamUpdate를 참조하세요.
NCryptStreamOpenToProtect 함수는 암호화되지 않은 보호 설명자 규칙 문자열을 스트림 개체 헤더에 기록하므로 NCryptStreamOpenToUnprotect는 암호화 중에 사용된 것과 동일한 보호기를 사용하여 스트림 암호 해독을 시작할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ncryptprotect.h |
라이브러리 | NCrypt.lib |
DLL | NCrypt.dll |