Win32 API 日本語リファレンス
ホーム › Security.Cryptography › PFNCryptStreamOutputCallback

PFNCryptStreamOutputCallback

コールバック

シグネチャ

HRESULT PFNCryptStreamOutputCallback(
    void* pvCallbackCtxt,
    BYTE* pbData,
    UINT_PTR cbData,
    BOOL fFinal
);

パラメーター

フィールド型説明
pvCallbackCtxtvoid*

アプリケーション側で処理状況を管理するために使用できるデータへのポインター。このデータがデータ保護 API によって変更されることはありません。

Note コンテキストデータへのポインターは、NCRYPT_PROTECT_STREAM_INFO 構造体の pvCallbackCtxt メンバーに設定できます。設定は、その構造体へのポインターを NCryptStreamOpenToProtect 関数または NCryptStreamOpenToUnprotect 関数の pStreamInfo パラメーターで渡す前に行います。
pbDataBYTE*アプリケーションが使用できる、処理済みデータのブロックへのポインター。
cbDataUINT_PTRpbData パラメーターが指す処理済みデータのサイズ (バイト単位)。
fFinalBOOLこの値が TRUE の場合、現在のデータブロックが処理される最後のブロックであり、 コールバックが呼び出されるのはこれが最後になります。

公式ドキュメント

PFNCryptStreamOutputCallback 関数は、NCryptStreamOpenToProtect 関数または NCryptStreamOpenToUnprotect 関数によって開始されたタスクから、暗号化または復号されたデータを受け取ります。このコールバックは、次の構文を使用してアプリケーション側で定義する必要があります。

戻り値

このコールバック関数の実装から ERROR_SUCCESS 以外のステータスコードを返した場合、ストリームの暗号化処理または復号処理は失敗します。

戻り値 説明
ERROR_SUCCESS
関数は成功しました。

解説(Remarks)

このコールバック関数へのポインターを、NCRYPT_PROTECT_STREAM_INFO 構造体の pfnStreamOutput メンバーに設定します。さらに、その構造体へのポインターを NCryptStreamOpenToProtect 関数または NCryptStreamOpenToUnprotect 関数の pStreamInfo パラメーターに設定します。

このコールバックを使用すると、暗号化または復号されたデータをさらに処理できます。一般的な用途は、データ保護 API から受け取ったデータを順次ディスクに書き込むことです。暗号化済みまたは未暗号化のデータブロックは、NCryptStreamUpdate 関数によって作成されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)