CryptFormatObject 関数 (wincrypt.h)
CryptFormatObject 関数は、エンコードされたデータを書式設定し、証明書のエンコードの種類に従って、割り当てられたバッファー内の Unicode 文字列を返します。
構文
BOOL CryptFormatObject(
[in] DWORD dwCertEncodingType,
[in] DWORD dwFormatType,
[in] DWORD dwFormatStrType,
[in] void *pFormatStruct,
[in] LPCSTR lpszStructType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[out] void *pbFormat,
[in, out] DWORD *pcbFormat
);
パラメーター
[in] dwCertEncodingType
証明書で使用されるエンコードの種類。 現在定義されている証明書エンコードの種類はX509_ASN_ENCODING。
[in] dwFormatType
型の値を書式設定します。 使用されていません。 0 に設定します。
[in] dwFormatStrType
構造体形式の型の値。 このパラメーターは 0 にすることも、ビットごとの OR 演算子を使用して次のフラグを 1 つ以上指定して組み合わせることもできます。
[in] pFormatStruct
構造体の形式へのポインター。 使用されていません。 NULL に設定します。
[in] lpszStructType
エンコードされたデータを定義する OID へのポインター。 lpszStructType パラメーターの上位ワードが 0 の場合、下位ワードは、指定された構造体の型の整数識別子を指定します。 それ以外の場合、このパラメーターは null で終わる文字列への長いポインターです。
次の表に、サポートされている OID と関連する OID 拡張機能を示します。
[in] pbEncoded
書式設定するエンコードされたデータへのポインター。 lpszStructType が上記の OID の 1 つである場合、pbEncoded はエンコードされた拡張機能です。
[in] cbEncoded
pbEncoded 構造体のサイズ (バイト単位)。
[out] pbFormat
書式設定された文字列を受け取るバッファーへのポインター。 指定されたバッファーがデコードされた構造体を受け取るのに十分な大きさでない場合、関数は ERROR_MORE_DATAを設定し、必要なバッファー サイズをバイト単位で pcbFormat が指す変数に格納します。 このパラメーターは、メモリ割り当てのためにこの情報のサイズを設定するために NULL にすることができます 。 詳細については、「 不明な長さのデータの取得」を参照してください。
[in, out] pcbFormat
pbFormat パラメーターが指すバッファーのサイズをバイト単位で指定する変数へのポインター。 関数が戻るとき、 pcbFormat パラメーターが指す変数には、バッファーに格納されているバイト数が含まれます。 このパラメーターは、pbFormat が NULL の場合にのみ NULL にすることができます。
戻り値
関数が成功した場合、戻り値は TRUE になります。 成功しない場合、戻り値は FALSE です。 拡張エラー情報を取得するには、 GetLastError 関数を使用します。
注釈
この関数の既定の動作では、エンコードされたデータの 1 行の表示が返されます。つまり、各サブフィールドは 1 行にコンマ (,) で連結されます。 複数行でデータを表示する場合は、CRYPT_FORMAT_STR_MULTI_LINE フラグを設定します。 その後、各サブフィールドは別の行に表示されます。
lpszStructType パラメーターに対して書式設定ルーチンがインストールまたは登録されていない場合は、エンコードされたCRYPT_INTEGER_BLOBの 16 進数ダンプが返されます。 ユーザーは、CRYPT_FORMAT_STR_NO_HEX フラグを設定して、16 進ダンプを無効にすることができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |