CertGetNameStringW

証明書の CERT_CONTEXT 構造体からサブジェクト名または発行者名を取得し、NULL 終端文字列に変換する。(Unicode)

CertGetNameStringW pCertContext, dwType, dwFlags, pvTypePara, pszNameString, cchNameString

pCertContext : [var] 変換対象のサブジェクト名および発行者名を含む CERT_CONTEXT 証明書コンテキストへのポインター。
dwType : [int] 名前を見つける方法と出力のフォーマット方法を示す DWORD。
dwFlags : [int] 必要な処理の種類を示す。
pvTypePara : [intptr] dwStrType を含む DWORD、または名前属性を指定するオブジェクト識別子 (OID) のいずれかへのポインター。指す型は dwType の値によって決まる。
pszNameString : [wstr] 返される文字列を受け取るために確保したバッファーへのポインター。pszNameString が NULL でなく cchNameString が 0 でない場合、pszNameString は NULL 終端文字列となる。dwFlags に CERT_NAME_SEARCH_ALL_NAMES_FLAG が指定され、dwType に CERT_NAME_DNS_TYPE が指定されている場合、返される文字列は該当する全ての DNS 名を含む。出力文字列中の各文字列は NULL 終端され、最後の文字列は二重 NULL 終端される。DNS 名が見つからない場合、単一の NULL 終端された空文字列が返される。
cchNameString : [int] 返される文字列のために確保した領域のサイズ (文字数)。このサイズには終端の NULL 文字を含める必要がある。

(プラグイン / モジュール : crypt32.dll)

解説

証明書の CERT_CONTEXT 構造体からサブジェクト名または発行者名を取得し、NULL 終端文字列に変換する。(Unicode)

[戻り値]
終端の NULL 文字を含む、変換された文字数を返す。pszNameString が NULL または cchNameString が 0
の場合、終端の NULL 文字を含む必要な出力文字列サイズを返す。指定した名前種別が見つからなかった場合、文字数 1 の NULL
終端された空文字列を返す。

[備考]
> [!NOTE] > wincrypt.h ヘッダーでは CertGetNameString
をエイリアスとして定義しており、UNICODE プリプロセッサ定数の定義に基づき、本関数の ANSI 版または Unicode
版を自動的に選択する。エンコーディング非依存のエイリアスをエンコーディング非依存でないコードと混在して使用すると、不整合によりコンパイルエラーや実行時エラーが発生することがある。詳細は
[関数プロトタイプの規約](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールcrypt32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の crypt32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_crypt32_gen2.hs