Share via


PFNCryptStreamOutputCallback 콜백 함수(ncryptprotect.h)

PFNCryptStreamOutputCallback 함수는 NCryptStreamOpenToProtect 또는 NCryptStreamOpenToUnprotect 함수를 사용하여 시작한 작업 에서 암호화되거나 암호 해독된 데이터를 받습니다. 이 콜백은 다음 구문을 사용하여 애플리케이션에서 정의해야 합니다.

구문

PFNCryptStreamOutputCallback Pfncryptstreamoutputcallback;

SECURITY_STATUS Pfncryptstreamoutputcallback(
  [in] void *pvCallbackCtxt,
  [in] const BYTE *pbData,
       SIZE_T cbData,
       BOOL fFinal
)
{...}

매개 변수

[in] pvCallbackCtxt

애플리케이션을 추적하는 데 사용할 수 있는 데이터에 대한 포인터입니다. 데이터는 데이터 보호 API에 의해 수정되지 않습니다.

참고NCryptStreamOpenToProtect 또는 NCryptStreamOpenToUnprotect 함수의 pStreamInfo 매개 변수에서 해당 구조체에 대한 포인터를 전달하기 전에 NCRYPT_PROTECT_STREAM_INFO 구조체의 pvCallbackCtxt 멤버에서 컨텍스트 데이터에 대한 포인터를 설정할 수 있습니다.
 

[in] pbData

애플리케이션에서 사용할 수 있는 처리된 데이터 블록에 대한 포인터입니다.

cbData

pbData 매개 변수가 가리키는 처리된 데이터의 크기(바이트)입니다.

fFinal

이 값이 TRUE이면 현재 데이터 블록이 마지막으로 처리되고 콜백이 호출되는 마지막 시간입니다.

반환 값

이 콜백 함수 구현에서 ERROR_SUCCESS 이외의 상태 코드를 반환하면 스트림 암호화 또는 암호 해독 프로세스가 실패합니다.

반환 코드 설명
ERROR_SUCCESS
함수가 성공했습니다.

설명

NCRYPT_PROTECT_STREAM_INFO 구조체의 pfnStreamOutput 멤버에서 이 콜백 함수에 대한 포인터를 설정합니다. NCryptStreamOpenToProtect 또는 NCryptStreamOpenToUnprotect 함수의 pStreamInfo 매개 변수에 있는 구조체에 대한 포인터를 설정합니다.

이 콜백을 사용하여 암호화되거나 암호 해독된 데이터를 추가로 처리할 수 있습니다. 함수의 일반적인 용도는 데이터 보호 API에서 수신되는 데이터를 디스크에 쓰는 것입니다. 암호화되거나 암호화되지 않은 데이터의 블록은 NCryptStreamUpdate 함수에 의해 생성됩니다.

요구 사항

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

추가 정보

CNG DPAPI 함수

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamOpenToProtect

NCryptStreamOpenToUnprotect

NCryptStreamUpdate