CryptDecodeObject 関数は、lpszStructType パラメータが示す型の構造体を復号する。大幅な性能向上を伴う同じ機能を実現する API として CryptDecodeObjectEx の使用が推奨される。
CryptDecodeObject dwCertEncodingType, lpszStructType, pbEncoded, cbEncoded, dwFlags, pvStructInfo, pcbStructInfo
dwCertEncodingType : [int] 使用するエンコーディングの型。証明書とメッセージのエンコーディング型の両方をビットごとの OR 演算で組み合わせて指定することも常に許容される。例: X509_ASN_ENCODING | PKCS_7_ASN_ENCODING。現在定義されているエンコーディング型は次のとおり。 lpszStructType : [str] 構造体の型を定義する OID へのポインタ。lpszStructType パラメータの上位ワードが 0 の場合、下位ワードは指定された構造体の型の整数識別子を指定する。それ以外の場合、このパラメータは NULL 終端文字列への long ポインタとなる。オブジェクト識別子文字列、その定義済み定数および対応する構造体の詳細については、Constants for CryptEncodeObject and CryptDecodeObject を参照。 pbEncoded : [var] 復号する符号化済み構造体へのポインタ。 cbEncoded : [int] pbEncoded が指すバイト数。 dwFlags : [int] 次のフラグが定義されている。これらはビットごとの OR 演算で組み合わせることができる。 pvStructInfo : [intptr] 復号済み構造体を受け取るバッファへのポインタ。指定されたバッファが復号済み構造体を受け取るのに十分な大きさでない場合、関数は ERROR_MORE_DATA を設定し、必要なバッファサイズ (バイト単位) を pcbStructInfo が指す変数に格納する。メモリ割り当て目的でこの情報のサイズを取得するため、このパラメータは NULL にできる。詳細は Retrieving Data of Unknown Length を参照。 pcbStructInfo : [var] pvStructInfo パラメータが指すバッファのサイズ (バイト単位) を指定する DWORD 値へのポインタ。関数が戻ると、この DWORD 値には pvStructInfo にコピーされた復号済みデータのサイズが格納される。pcbStructInfo が指す変数に含まれるサイズは、復号済み構造体が他の構造体へのポインタを含むことができるため、復号済み構造体よりも大きいサイズを示すことがある。このサイズは復号済み構造体が必要とするサイズと、参照先の他の構造体のサイズの合計である。
(プラグイン / モジュール : crypt32.dll)
CryptDecodeObject 関数は、lpszStructType パラメータが示す型の構造体を復号する。大幅な性能向上を伴う同じ機能を実現する API として CryptDecodeObjectEx の使用が推奨される。 [戻り値] 関数が成功した場合、戻り値は 0 以外 (TRUE)。関数が失敗した場合、戻り値は 0 (FALSE)。拡張エラー情報を取得するには GetLastError を呼び出す。次の表に、想定されるエラーコードの一部を示す。 (以下省略) [備考] 推奨される CryptEncodeObjectEx 関数を使用して暗号オブジェクトを符号化する場合、NULL 終端文字が含まれる。推奨される CryptDecodeObjectEx 関数を使用して復号する場合、NULL 終端文字は保持されない。
| プラグイン / モジュール | crypt32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の crypt32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_crypt32_gen2.hs |