次の方法で共有


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 または次の値を指定できます。

意味
NCRYPT_SILENT_FLAG
キー サービス プロバイダーにユーザー インターフェイスを表示しないことを要求します。

[in, optional] hWnd

表示するユーザー インターフェイスの親ウィンドウ (存在する場合) を処理します。

[out] phStream

復号化されたデータ ストリームのハンドルへのポインター。

戻り値

関数の成功または失敗を示す状態コードを返します。 可能なリターン コードには、次のものが含まれますが、これらに限定されません。

リターン コード 説明
ERROR_SUCCESS
関数は成功しました。
NTE_BAD_FLAGS
dwFlags パラメーターには、ゼロ (0) または NCRYPT_SILENT_FLAGを含める必要があります。
NTE_INVALID_PARAMETER
phStream パラメーターと pStreamInfo パラメーターを NULL にすることはできません。

pStreamInfo パラメーターが指すNCRYPT_PROTECT_STREAM_INFO構造体の pfnStreamOutput メンバーが指すコールバック関数を NULL にすることはできません。

NTE_NO_MEMORY
データ ストリームを割り当てるメモリが不足していました。

注釈

NCryptStreamOpenToUnprotect 関数は、大きなメッセージの暗号化に使用できる内部ストリーム オブジェクトを作成します。 オブジェクトを直接使用することはできません。 代わりに、この関数によって返されるオブジェクト ハンドルを使用する必要があります。

NCryptStreamUpdate 関数を呼び出す前に、この関数を呼び出します。 大きなファイルを暗号化する場合は、 NCryptStreamUpdate をループ内で使用し、ブロックごとにファイル ブロックを進め、進むたびに各ブロックを暗号化し、各ブロックが完了したときにコールバックに通知します。 詳細については、「 NCryptStreamUpdate」を参照してください。

NCryptStreamOpenToUnprotect 関数は、ストリーム ヘッダーから暗号化されていない保護記述子ルール文字列を取得します。 ルール文字列は、 NCryptStreamOpenToUnprotect 関数によってヘッダーに配置されます。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ncryptprotect.h
Library NCrypt.lib
[DLL] NCrypt.dll

こちらもご覧ください

CNG DPAPI 関数

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamClose

NCryptStreamOpenToProtect

NCryptStreamUpdate