lpszStructType パラメータの値が示す型の構造体を符号化する。
CryptEncodeObjectEx dwCertEncodingType, lpszStructType, pvStructInfo, dwFlags, pEncodePara, pvEncoded, pcbEncoded
dwCertEncodingType : [int] lpszStructType : [str] 構造体の型を定義するオブジェクト識別子 (OID) へのポインタ。lpszStructType パラメータの上位ワードが 0 の場合、下位ワードは指定された構造体の型の整数識別子を指定する。それ以外の場合、このパラメータは OID の文字列表現を含む NULL 終端文字列へのポインタとなる。 pvStructInfo : [intptr] 符号化する構造体へのポインタ。構造体は lpszStructType で指定された型でなければならない。 dwFlags : [int] pEncodePara : [var] 符号化情報を含む CRYPT_ENCODE_PARA 構造体へのポインタ。このパラメータは NULL にできる。pEncodePara か pEncodePara の pfnAlloc メンバのいずれかが NULL の場合、割り当てには LocalAlloc が使用され、メモリを解放するには LocalFree を呼び出さなければならない。pEncodePara と pEncodePara の pfnAlloc メンバの両方が NULL でない場合、pEncodePara が指す CRYPT_ENCODE_PARA 構造体の pfnAlloc メンバが指す関数が割り当てに呼び出される。メモリを解放するには pEncodePara の pfnFree メンバが指す関数を呼び出さなければならない。 pvEncoded : [intptr] 符号化された構造体を受け取るバッファへのポインタ。このバッファのサイズは pcbEncoded パラメータで指定される。指定されたバッファが復号済み構造体を受け取るのに十分な大きさでない場合、関数は ERROR_MORE_DATA コードを設定し、必要なバッファサイズ (バイト単位) を pcbEncoded が指す変数に格納する。メモリ割り当て目的でバッファのサイズを取得するため、このパラメータは NULL にできる。詳細は Retrieving Data of Unknown Length を参照。dwFlags に CRYPT_ENCODE_ALLOC_FLAG フラグが含まれている場合、pvEncoded はバッファへのポインタではなく、バッファへのポインタのアドレスとなる。メモリは関数内部で割り当てられ、ポインタは pvEncoded に格納されるため、pvEncoded を NULL にすることはできない。 pcbEncoded : [var] pvEncoded パラメータが指すバッファのサイズ (バイト単位) を含む DWORD 変数へのポインタ。関数が戻ると、pcbEncoded パラメータが指す変数はバッファに格納された割り当て済み符号化バイト数を含む。dwFlags に CRYPT_ENCODE_ALLOC_FLAG フラグが含まれている場合、pcbEncoded は更新される DWORD 値へのポインタのアドレスとなる。注意 バッファ内で返されたデータを処理する際、アプリケーションは返されたデータの実際のサイズを使用しなければならない。実際のサイズは入力で指定されたバッファのサイズよりわずかに小さいことがある。出力時には、このパラメータが指す変数は実際のデータサイズを反映するよう更新される。
(プラグイン / モジュール : crypt32.dll)
lpszStructType パラメータの値が示す型の構造体を符号化する。 [戻り値] 成功した場合は 0 以外、失敗した場合は 0 を返す。拡張エラー情報を取得するには GetLastError を呼び出す。次の表に、CryptEncodeObjectEx が失敗したときに GetLastError から返される可能性のあるエラーコードの一部を示す。 (以下省略) [備考] 推奨される CryptEncodeObjectEx 関数を使用して暗号オブジェクトを符号化する場合、NULL 終端文字が含まれる。推奨される CryptDecodeObjectEx 関数を使用して復号する場合、NULL 終端文字は保持されない。CryptEncodeObjectEx は最初にインストール可能な拡張符号化関数を検索する。拡張符号化関数が見つからない場合、古い非拡張のインストール可能関数が位置付けされる。オブジェクトの直接的な IA5String 符号化ができない場合、dwFlag パラメータに CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG を設定することで Punycode 符号化を指定できる。CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG フラグを設定する効果は、lpszStructType パラメータで指定される符号化対象の構造体の型によって異なる。下記のリストの各定数には、pvStructInfo パラメータが指す関連する構造体型がある。直接または間接的に指される構造体は CERT_ALT_NAME_ENTRY 構造体への参照を持つ。 (以下省略)
| プラグイン / モジュール | 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 |