IEnroll4
COM公式ドキュメント
IEnroll4 インターフェイスは Certificate Enrollment Control(証明書登録(エンロール)コントロール)を表し、主に証明書要求の生成に使用します。
メソッド 32
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
証明書データのハッシュを設定または取得します。thumbprint は保留中の証明書を指し示すために使用されます。(Put)
| thumbPrintBlob | CRYPT_INTEGER_BLOB | in | 保留中要求を識別する証明書のサムプリント(拇印)のバイナリを保持する CRYPT_INTEGER_BLOB を渡す。 |
証明書データのハッシュを設定または取得します。thumbprint は保留中の証明書を指し示すために使用されます。(Get)
| thumbPrintBlob | CRYPT_INTEGER_BLOB* | inout | 現在設定されている証明書のサムプリントのバイナリを受け取る CRYPT_INTEGER_BLOB へのポインタである。 |
SetPrivateKeyArchiveCertificate メソッドは、秘密キーをアーカイブするために使用する証明書を指定します。このメソッドは IEnroll4 インターフェイスで初めて定義されました。
| pPrivateKeyArchiveCert | CERT_CONTEXT* | in | 秘密キーをアーカイブするために使用する証明書を指定する CERT_CONTEXT 構造体へのポインター。 |
戻り値
戻り値は HRESULT です。S_OK は成功を示します。
GetPrivateKeyArchiveCertificate メソッドは、秘密キーをアーカイブするために使用する証明書を取得します。このメソッドは IEnroll4 インターフェイスで初めて定義されました。
戻り値
秘密キーをアーカイブするために使用する証明書を表す CERT_CONTEXT 構造体へのポインター。エラーが発生した場合は NULL。
バイナリデータ BLOB を文字列に変換します。このメソッドは変換の実行に CryptBinaryToString 関数を使用します。このメソッドは IEnroll4 インターフェイスで初めて定義されました。
| Flags | INT | in | CryptBinaryToString 関数の dwFlags パラメーターに渡される値。指定可能な値の説明については、 CryptBinaryToString を参照してください。 |
| pblobBinary | CRYPT_INTEGER_BLOB* | inout | 文字列に変換するバイナリ BLOB を表す CRYPT_DATA_BLOB へのポインター。 |
| ppwszString | LPWSTR* | inout | エンコードされたデータを受け取る LPWSTR へのポインター。 |
戻り値
メソッドが成功した場合、S_OK を返します。
メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、 Common HRESULT Values を参照してください。
エンコードされた文字列をバイナリデータ BLOB に変換します。
| Flags | INT | in | CryptStringToBinary 関数の dwFlags パラメーターに渡される値。有効な値については、 CryptStringToBinary を参照してください。 |
| pwszString | LPWSTR | in | バイナリデータ BLOB に変換するエンコードされた文字列。 |
| pblobBinary | CRYPT_INTEGER_BLOB* | inout | バイナリデータを受け取る CRYPT_DATA_BLOB 構造体へのポインター。 |
| pdwSkip | INT* | inout | 実際の base64 文字列または 16 進文字列の先頭までにスキップされた文字列の文字数を受け取る LONG へのポインター。 |
| pdwFlags | INT* | inout | 変換で使用された実際の形式を受け取る LONG へのポインター。 |
要求に拡張を追加します。
| Flags | INT | in | 拡張がクリティカルかどうかを指定します。 TRUE の場合、追加される拡張はクリティカルです。FALSE の場合はクリティカルではありません。 |
| pwszName | LPWSTR | in | 拡張名のオブジェクト識別子(OID)を表す null で終わるワイド文字列へのポインター。 |
| pblobValue | CRYPT_INTEGER_BLOB* | inout | 拡張値を表す CRYPT_DATA_BLOB 構造体へのポインター。 |
戻り値
戻り値は HRESULT です。呼び出しが成功した場合は S_OK が返されます。
証明書要求に属性を追加します。
| Flags | INT | in | このパラメーターは将来の使用のために予約されており、ゼロに設定する必要があります。 |
| pwszName | LPWSTR | in | 属性名のオブジェクト識別子(OID)を表す null で終わるワイド文字列へのポインター。 |
| pblobValue | CRYPT_INTEGER_BLOB* | inout | 属性値を表す CRYPT_DATA_BLOB 構造体へのポインター。 |
認証されていない名前と値の文字列ペアを要求に追加します。
| Flags | INT | in | このパラメーターは将来の使用のために予約されており、ゼロに設定する必要があります。 |
| pwszName | LPWSTR | in | 名前と値のペアの名前部分を表す null で終わるワイド文字列へのポインター。 |
| pwszValue | LPWSTR | in | 名前と値のペアの値部分を表す null で終わるワイド文字列へのポインター。 |
要求からすべての拡張を削除します。
要求からすべての属性を削除します。
PKCS を作成します (IEnroll4.createRequestWStr)
| Flags | CERT_CREATE_REQUEST_FLAGS | in | 作成する証明書要求の種類を指定する値。次のいずれかの値を指定します。
| ||||||||||
| pwszDNName | LPWSTR | in | 要求の対象となるエンティティの識別名(DN)を含む null で終わる Unicode 文字列へのポインター。DN 名は X.500 の命名規則に従う必要があります。たとえば "CN=User, O=Microsoft" のようになります。2 文字のプレフィックスが存在しない場合は、代わりにオブジェクト識別子(OID)を指定できます。このパラメーターは NULL でもかまいません。 | ||||||||||
| pwszUsage | LPWSTR | in | 生成される証明書の目的を表す OID を含む null で終わる Unicode 文字列へのポインター。たとえば、個人用または商用の Authenticode 証明書やクライアント認証などです。複数の OID をカンマ区切りで指定することもできます。 | ||||||||||
| pblobRequest | CRYPT_INTEGER_BLOB* | inout | 要求を受け取る CRYPT_DATA_BLOB 構造体へのポインター。 このメモリの使用が終わったら、この構造体の pbData メンバーを CoTaskMemFree 関数に渡して解放してください。 |
戻り値
メソッドが成功した場合、S_OK を返します。
メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
PKCS を作成します (IEnroll4.createFileRequestWStr)
| Flags | CERT_CREATE_REQUEST_FLAGS | in | 作成する証明書要求の種類を指定する値。次のいずれかの値を指定します。
| ||||||||||
| pwszDNName | LPWSTR | in | 要求の対象となるエンティティの識別名(DN)を表す null で終わるワイド文字列へのポインター。DN 名は X.500 の命名規則に従う必要があります。たとえば "CN=User, O=Microsoft" のようになります。2 文字のプレフィックスが存在しない場合は、代わりにオブジェクト識別子(OID)を指定できます。このパラメーターは NULL でもかまいません。 | ||||||||||
| pwszUsage | LPWSTR | in | 生成される証明書の目的を表す OID を格納する null で終わるワイド文字列へのポインター。たとえば、個人用または商用の Authenticode 証明書やクライアント認証などです。複数の OID をカンマ区切りで指定することもできます。 | ||||||||||
| pwszRequestFileName | LPWSTR | in | 要求を受け取るファイルの名前を含む null で終わるワイド文字列へのポインター。 |
戻り値
メソッドが成功した場合、S_OK を返します。
メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、 Common HRESULT Values を参照してください。
先の createRequestWStr の呼び出しに応じて発行された資格情報の配信を受け入れ、その資格情報を適切なストアに格納します。
| pblobResponse | CRYPT_INTEGER_BLOB* | inout | 応答を表す CRYPT_DATA_BLOB 構造体へのポインター。 |
解説(Remarks)
応答には証明書がちょうど 1 つだけ含まれている必要があります。子証明書を含めることはできません。
応答は PKCS #7 または完全な CMC 応答のいずれかです。ただし、完全な CMC 応答を受け入れるには、暗号化サービスプロバイダーが CMC 構造の Abstract Syntax Notation One(ASN.1)エンコードをサポートしている必要があります。
先の createFileRequestWStr の呼び出しに応じて発行された資格情報の配信を受け入れ、その資格情報を適切なストアに格納します。
| pwszResponseFileName | LPWSTR | in | 応答を含むファイルの名前を表す null で終わるワイド文字列へのポインター。 |
解説(Remarks)
pwszResponseFileName パラメーターで指定されるファイル内の応答には、証明書がちょうど 1 つだけ含まれている必要があります。子証明書を含めることはできません。
応答は PKCS #7 または完全な CMC 応答のいずれかです。ただし、完全な CMC 応答を受け入れるには、暗号化サービスプロバイダーが CMC 構造の Abstract Syntax Notation One(ASN.1)エンコードをサポートしている必要があります。
証明機関(CA)の応答から証明書を取得します。
| pblobResponse | CRYPT_INTEGER_BLOB* | inout | 応答を表す CRYPT_DATA_BLOB 構造体へのポインター。 |
| ppCertContext | CERT_CONTEXT** | inout | 応答から取得した証明書を受け取る CERT_CONTEXT 構造体へのポインターへのポインター。 |
解説(Remarks)
pblobResponse に含まれる応答には、証明書がちょうど 1 つだけ含まれている必要があります。子証明書を含めることはできません。
応答は PKCS #7 または完全な Certificate Management over CMS(CMC)応答のいずれかです。ただし、完全な CMC 応答を受け入れるには、暗号化サービスプロバイダーが CMC 構造の Abstract Syntax Notation One(ASN.1)エンコードをサポートしている必要があります。
証明機関(CA)からの応答を含むファイルから証明書を取得します。
| pwszResponseFileName | LPWSTR | in | 応答を含むファイルの名前を表す null で終わるワイド文字列へのポインター。 |
| ppCertContext | CERT_CONTEXT** | inout | 応答から取得した証明書を受け取る CERT_CONTEXT 構造体へのポインターへのポインター。 |
解説(Remarks)
pwszResponseFileName に含まれる応答には、証明書がちょうど 1 つだけ含まれている必要があります。子証明書を含めることはできません。
応答は PKCS #7 または完全な Certificate Management over CMS(CMC)応答のいずれかです。ただし、完全な CMC 応答を受け入れるには、暗号化サービスプロバイダーが CMC 構造の Abstract Syntax Notation One(ASN.1)エンコードをサポートしている必要があります。
受け入れた証明書チェーンと秘密キーを Personal Information Exchange(PFX)形式の文字列に保存します。PFX 形式は PKCS とも呼ばれます (IEnroll4.createPFXWStr)
| pwszPassword | LPWSTR | in | PFX 形式のメッセージのパスワードを表す null で終わる Unicode 文字列へのポインター。パスワードを使用しないことを示すために、この値は空または NULL でもかまいません。パスワードの使用が終わったら、SecureZeroMemory を呼び出して機密情報をメモリから削除してください。パスワードの保護の詳細については、Handling Passwords を参照してください。 |
| pblobPFX | CRYPT_INTEGER_BLOB* | inout | base64 エンコードされた PFX 形式の証明書情報を受け取る CRYPT_DATA_BLOB 構造体へのポインター。 このメモリの使用が終わったら、この構造体の pbData メンバーを CoTaskMemFree 関数に渡して解放してください。 |
戻り値
メソッドが成功した場合、S_OK を返します。
メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
受け入れた証明書チェーンと秘密キーを Personal Information Exchange(PFX)形式のファイルに保存します。
| pwszPassword | LPWSTR | in | PFX 形式のメッセージのパスワードを表す null で終わるワイド文字列へのポインター。パスワードを使用しないことを示すために、この値は空または NULL でもかまいません。パスワードの使用が終わったら、SecureZeroMemory を呼び出して機密情報をメモリから削除してください。パスワードの保護の詳細については、Handling Passwords を参照してください。 |
| pwszPFXFileName | LPWSTR | in | base64 エンコードされた PFX データを受け取るファイルの名前を含む null で終わるワイド文字列へのポインター。 |
保留中の要求のプロパティを設定します。
| lRequestID | INT | in | 証明機関(CA)によって割り当てられた要求の識別子。 |
| pwszCADNS | LPWSTR | in | CA の Domain Name System(DNS)名を表す null で終わるワイド文字列へのポインター。このパラメーターを null にすることはできません。 |
| pwszCAName | LPWSTR | in | CA の名前を表す null で終わるワイド文字列へのポインター。このパラメーターを null にすることはできません。 |
| pwszFriendlyName | LPWSTR | in | CA の表示名を表す null で終わるワイド文字列へのポインター。このパラメーターは null でもかまいません。 |
保留中の証明書要求を列挙し、各要求から指定されたプロパティを取得します。
| lIndex | INT | in | プロパティを取得する保留中の要求の序数位置を指定します。最初の要求にはゼロを指定します。 | ||||||||||||
| lDesiredProperty | PENDING_REQUEST_DESIRED_PROPERTY | in | 取得するプロパティの識別子。次のいずれかの値を指定します。
| ||||||||||||
| ppProperty | void* | inout | 取得されたプロパティの値を受け取る VOID へのポインター。 |
戻り値
メソッドが成功した場合、S_OK を返します。
メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
lDesiredProperty に次の値を指定した場合、このメソッドは E_NOTIMPL を返します。
lDesiredProperty にその他の値を指定した場合、このメソッドは E_INVALIDARG を返します。
クライアントの要求ストアから保留中の要求を削除します。
| thumbPrintBlob | CRYPT_INTEGER_BLOB | in | 証明書データの thumbprint(ハッシュ)を表す CRYPT_DATA_BLOB 構造体。 |
署名キーと交換キーのサイズ情報を取得します。
| lSizeSpec | XEKL_KEYSIZE | in | 取得するサイズ情報の種類を示す値。次のいずれかの値を指定します。
| ||||||||
| lKeySpec | XEKL_KEYSPEC | in | サイズ情報を返すキーを指定します。次のいずれかの値を指定します。
| ||||||||
| pdwKeySize | INT* | inout | キーサイズ情報をビット単位で受け取る LONG へのポインター。 |
解説(Remarks)
暗号化サービスプロバイダーがこのメソッドをサポートしていない場合、エラーが返されます。
XEKL_KEYSIZE_INC 値の詳細については、 CryptGetProvParam リファレンスページの PP_SIG_KEYSIZE_INC の使用方法を参照してください。
InstallPKCS7Blob と同じですが、ローカルストアに実際にインストールされた証明書の数を返す点が異なります。
| pBlobPKCS7 | CRYPT_INTEGER_BLOB* | inout | 証明書または証明書チェーンを含む CRYPT_DATA_BLOB 構造体へのポインター。 |
| plCertInstalled | INT* | inout | ローカルストアにインストールされた証明書の数を返します。 |
戻り値
戻り値は HRESULT です。S_OK は成功を示します。
証明書テンプレート(証明書の種類とも呼ばれます)を要求に追加します。
| lType | ADDED_CERT_TYPE | in | テンプレート拡張のバージョンの種類を示します。次のいずれかの値を指定できます。
| ||||||
| pwszOIDOrName | LPWSTR | in | 証明書要求に追加される証明書テンプレートの完全修飾名を表す null で終わる文字列へのポインター。この値は証明機関によって解釈されます。 | ||||||
| lMajorVersion | INT | in | テンプレートのメジャーバージョンを指定する値。lType が XECT_EXTENSION_V1 の場合、このパラメーターは無視されます。 | ||||||
| fMinorVersion | BOOL | in | テンプレートのマイナーバージョンを使用するかどうかを指定する値。lType が XECT_EXTENSION_V1 の場合、このパラメーターは無視されます。 | ||||||
| lMinorVersion | INT | in | テンプレートのマイナーバージョンを指定する値。lType が XECT_EXTENSION_V1 の場合、または fMinorVersion が FALSE の場合、このパラメーターは無視されます。 |
戻り値
戻り値は HRESULT です。呼び出しが成功した場合は S_OK が返されます。
解説(Remarks)
このメソッドは、新しい要求メソッドである createRequestWStr のみをサポートします。 createPKCS10WStr メソッドはサポートしていません。
このメソッドを複数回呼び出すことで、要求に対して複数の証明書テンプレートを設定できます。
指定された暗号化サービスプロバイダー(CSP)の種類を取得します。
| pwszProvName | LPWSTR | in | 種類を要求する CSP の名前を含む null で終わるワイド文字列へのポインター。このメソッドは IEnroll4 インターフェイスで初めて定義されました。 |
| plProvType | INT* | inout | CSP の種類を受け取る LONG 値へのポインター。CSP の種類は次のいずれかの値です。 |
IEnroll4::addBlobPropertyToCertificateWStr メソッドは、証明書に BLOB プロパティを追加します。
| lPropertyId | INT | in | 証明書に追加する BLOB プロパティの識別子。 |
| lReserved | INT | in | このパラメーターは予約されています。ゼロにする必要があります。 |
| pBlobProperty | CRYPT_INTEGER_BLOB* | inout | BLOB プロパティのデータを表す CRYPT_DATA_BLOB 構造体へのポインター。 |
SetSignerCertificate メソッドは、署名者の証明書を指定します。このメソッドは IEnroll4 インターフェイスで初めて定義されました。
| pSignerCert | CERT_CONTEXT* | in | 署名者の証明書を表す CERT_CONTEXT 構造体へのポインター。 |
戻り値
戻り値は HRESULT です。S_OK は成功を示します。
ClientId プロパティは、クライアント ID 要求属性を設定または取得します。クライアント ID 要求属性は、証明書要求の発生元を示します。このプロパティは IEnroll4 インターフェイスで初めて定義されました。(Put)
| lClientId | INT | in | 登録要求を発行するクライアントを識別するクライアント ID を渡す。 |
ClientId プロパティは、クライアント ID 要求属性を設定または取得します。クライアント ID 要求属性は、証明書要求の発生元を示します。このプロパティは IEnroll4 インターフェイスで初めて定義されました。(Get)
| plClientId | INT* | inout | 現在のクライアント ID を受け取る INT へのポインタである。 |
IEnroll4 の IncludeSubjectKeyID プロパティは、生成される証明書要求にサブジェクトキー ID 拡張を追加するかどうかを決定します。(Put)
| fInclude | BOOL | in | 要求にサブジェクトキー識別子(Subject Key ID)を含めるかどうかを指定する BOOL 値を渡す。 |
IEnroll4 の IncludeSubjectKeyID プロパティは、生成される証明書要求にサブジェクトキー ID 拡張を追加するかどうかを決定します。(Get)
| pfInclude | BOOL* | inout | 要求にサブジェクトキー識別子を含めるかどうかを受け取る BOOL へのポインタである。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IEnroll4 "{F8053FE5-78F4-448F-A0DB-41D61B73446B}" #usecom global IEnroll4 IID_IEnroll4 "{}" #comfunc global IEnroll4_put_ThumbPrintWStr 91 int #comfunc global IEnroll4_get_ThumbPrintWStr 92 var #comfunc global IEnroll4_SetPrivateKeyArchiveCertificate 93 var #comfunc global IEnroll4_GetPrivateKeyArchiveCertificate 94 #comfunc global IEnroll4_binaryBlobToString 95 int,var,var #comfunc global IEnroll4_stringToBinaryBlob 96 int,wstr,var,var,var #comfunc global IEnroll4_addExtensionToRequestWStr 97 int,wstr,var #comfunc global IEnroll4_addAttributeToRequestWStr 98 int,wstr,var #comfunc global IEnroll4_addNameValuePairToRequestWStr 99 int,wstr,wstr #comfunc global IEnroll4_resetExtensions 100 #comfunc global IEnroll4_resetAttributes 101 #comfunc global IEnroll4_createRequestWStr 102 int,wstr,wstr,var #comfunc global IEnroll4_createFileRequestWStr 103 int,wstr,wstr,wstr #comfunc global IEnroll4_acceptResponseBlob 104 var #comfunc global IEnroll4_acceptFileResponseWStr 105 wstr #comfunc global IEnroll4_getCertContextFromResponseBlob 106 var,var #comfunc global IEnroll4_getCertContextFromFileResponseWStr 107 wstr,var #comfunc global IEnroll4_createPFXWStr 108 wstr,var #comfunc global IEnroll4_createFilePFXWStr 109 wstr,wstr #comfunc global IEnroll4_setPendingRequestInfoWStr 110 int,wstr,wstr,wstr #comfunc global IEnroll4_enumPendingRequestWStr 111 int,int,sptr #comfunc global IEnroll4_removePendingRequestWStr 112 int #comfunc global IEnroll4_GetKeyLenEx 113 int,int,var #comfunc global IEnroll4_InstallPKCS7BlobEx 114 var,var #comfunc global IEnroll4_AddCertTypeToRequestWStrEx 115 int,wstr,int,int,int #comfunc global IEnroll4_getProviderTypeWStr 116 wstr,var #comfunc global IEnroll4_addBlobPropertyToCertificateWStr 117 int,int,var #comfunc global IEnroll4_SetSignerCertificate 118 var #comfunc global IEnroll4_put_ClientId 119 int #comfunc global IEnroll4_get_ClientId 120 var #comfunc global IEnroll4_put_IncludeSubjectKeyID 121 int #comfunc global IEnroll4_get_IncludeSubjectKeyID 122 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IEnroll4 "{F8053FE5-78F4-448F-A0DB-41D61B73446B}" #usecom global IEnroll4 IID_IEnroll4 "{}" #comfunc global IEnroll4_put_ThumbPrintWStr 91 int #comfunc global IEnroll4_get_ThumbPrintWStr 92 sptr #comfunc global IEnroll4_SetPrivateKeyArchiveCertificate 93 sptr #comfunc global IEnroll4_GetPrivateKeyArchiveCertificate 94 #comfunc global IEnroll4_binaryBlobToString 95 int,sptr,sptr #comfunc global IEnroll4_stringToBinaryBlob 96 int,wstr,sptr,sptr,sptr #comfunc global IEnroll4_addExtensionToRequestWStr 97 int,wstr,sptr #comfunc global IEnroll4_addAttributeToRequestWStr 98 int,wstr,sptr #comfunc global IEnroll4_addNameValuePairToRequestWStr 99 int,wstr,wstr #comfunc global IEnroll4_resetExtensions 100 #comfunc global IEnroll4_resetAttributes 101 #comfunc global IEnroll4_createRequestWStr 102 int,wstr,wstr,sptr #comfunc global IEnroll4_createFileRequestWStr 103 int,wstr,wstr,wstr #comfunc global IEnroll4_acceptResponseBlob 104 sptr #comfunc global IEnroll4_acceptFileResponseWStr 105 wstr #comfunc global IEnroll4_getCertContextFromResponseBlob 106 sptr,sptr #comfunc global IEnroll4_getCertContextFromFileResponseWStr 107 wstr,sptr #comfunc global IEnroll4_createPFXWStr 108 wstr,sptr #comfunc global IEnroll4_createFilePFXWStr 109 wstr,wstr #comfunc global IEnroll4_setPendingRequestInfoWStr 110 int,wstr,wstr,wstr #comfunc global IEnroll4_enumPendingRequestWStr 111 int,int,sptr #comfunc global IEnroll4_removePendingRequestWStr 112 int #comfunc global IEnroll4_GetKeyLenEx 113 int,int,sptr #comfunc global IEnroll4_InstallPKCS7BlobEx 114 sptr,sptr #comfunc global IEnroll4_AddCertTypeToRequestWStrEx 115 int,wstr,int,int,int #comfunc global IEnroll4_getProviderTypeWStr 116 wstr,sptr #comfunc global IEnroll4_addBlobPropertyToCertificateWStr 117 int,int,sptr #comfunc global IEnroll4_SetSignerCertificate 118 sptr #comfunc global IEnroll4_put_ClientId 119 int #comfunc global IEnroll4_get_ClientId 120 sptr #comfunc global IEnroll4_put_IncludeSubjectKeyID 121 int #comfunc global IEnroll4_get_IncludeSubjectKeyID 122 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。