ホーム › Security.Cryptography › NCryptDecryptFn
NCryptDecryptFn
コールバックシグネチャ
HRESULT NCryptDecryptFn(
NCRYPT_PROV_HANDLE hProvider,
NCRYPT_KEY_HANDLE hKey,
BYTE* pbInput,
DWORD cbInput,
void* pPaddingInfo,
BYTE* pbOutput,
DWORD cbOutput,
DWORD* pcbResult,
DWORD dwFlags
);パラメーター
| フィールド | 型 | 説明 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hProvider | NCRYPT_PROV_HANDLE | |||||||||||||
| hKey | NCRYPT_KEY_HANDLE | データの復号に使用するキーのハンドルです。 | ||||||||||||
| pbInput | BYTE* | 復号するデータが格納されたバッファーのアドレスです。cbInput パラメーターには、復号するデータのサイズを指定します。詳細については「解説」を参照してください。 | ||||||||||||
| cbInput | DWORD | pbInput バッファー内の、復号するデータのバイト数です。 | ||||||||||||
| pPaddingInfo | void* | パディング情報を格納した構造体へのポインターです。このパラメーターが指す構造体の実際の型は、dwFlags パラメーターの値によって異なります。このパラメーターは非対称キーの場合にのみ使用され、それ以外の場合は NULL でなければなりません。 | ||||||||||||
| pbOutput | BYTE* | この関数が生成した復号済みデータを受け取るバッファーのアドレスです。cbOutput パラメーターには、このバッファーのサイズを指定します。詳細については「解説」を参照してください。 このパラメーターが NULL の場合、この関数は復号済みデータに必要なサイズを計算し、pcbResult パラメーターが指す場所にそのサイズを返します。 | ||||||||||||
| cbOutput | DWORD | pbOutput バッファーのサイズ (バイト単位) です。pbOutput パラメーターが NULL の場合、このパラメーターは無視されます。 | ||||||||||||
| pcbResult | DWORD* | pbOutput バッファーにコピーされたバイト数を受け取る DWORD 変数へのポインターです。pbOutput が NULL の場合は、復号済みデータに必要なサイズ (バイト単位) を受け取ります。 | ||||||||||||
| dwFlags | DWORD | 関数の動作を変更するフラグです。指定できるフラグの組み合わせは、hKey パラメーターで指定したキーの種類によって異なります。 キーが非対称キーの場合、次のいずれかの値を指定できます。
次の値は、任意のキーに対して使用できます。
|
公式ドキュメント
NCryptDecrypt 関数は、暗号化されたデータのブロックを復号します。
戻り値
関数の成功または失敗を示すステータスコードを返します。
返される可能性のあるコードには、次のものが含まれます (これらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| 関数は成功しました。 | |
| dwFlags パラメーターに無効な値が含まれています。 | |
| cbOutput パラメーターで指定されたサイズでは、復号されたデータを格納するのに十分ではありません。 | |
| hKey パラメーターが無効です。 | |
| 1 つ以上のパラメーターが無効です。 | |
| hKey パラメーターで識別されるキーは復号に使用できません。 |
解説(Remarks)
pbInput パラメーターと pbOutput パラメーターは、同じバッファーを指すことができます。この場合、この関数はバッファー内で直接 (インプレースで) 復号を行います。
サービスは、StartService 関数からこの関数を呼び出してはなりません。サービスが StartService 関数からこの関数を呼び出すと、デッドロックが発生し、サービスが応答しなくなる可能性があります。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)