次の方法で共有


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