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 または次の値を指定できます。
値 | 意味 |
---|---|
|
キー サービス プロバイダーにユーザー インターフェイスを表示しないことを要求します。 |
[in, optional] hWnd
表示するユーザー インターフェイスの親ウィンドウ (存在する場合) を処理します。
[out] phStream
復号化されたデータ ストリームのハンドルへのポインター。
戻り値
関数の成功または失敗を示す状態コードを返します。 可能なリターン コードには、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
関数は成功しました。 |
|
dwFlags パラメーターには、ゼロ (0) または NCRYPT_SILENT_FLAGを含める必要があります。 |
|
phStream パラメーターと pStreamInfo パラメーターを NULL にすることはできません。
pStreamInfo パラメーターが指すNCRYPT_PROTECT_STREAM_INFO構造体の pfnStreamOutput メンバーが指すコールバック関数を NULL にすることはできません。 |
|
データ ストリームを割り当てるメモリが不足していました。 |
注釈
NCryptStreamOpenToUnprotect 関数は、大きなメッセージの暗号化に使用できる内部ストリーム オブジェクトを作成します。 オブジェクトを直接使用することはできません。 代わりに、この関数によって返されるオブジェクト ハンドルを使用する必要があります。
NCryptStreamUpdate 関数を呼び出す前に、この関数を呼び出します。 大きなファイルを暗号化する場合は、 NCryptStreamUpdate をループ内で使用し、ブロックごとにファイル ブロックを進め、進むたびに各ブロックを暗号化し、各ブロックが完了したときにコールバックに通知します。 詳細については、「 NCryptStreamUpdate」を参照してください。
NCryptStreamOpenToUnprotect 関数は、ストリーム ヘッダーから暗号化されていない保護記述子ルール文字列を取得します。 ルール文字列は、 NCryptStreamOpenToUnprotect 関数によってヘッダーに配置されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ncryptprotect.h |
Library | NCrypt.lib |
[DLL] | NCrypt.dll |