Win32 API 日本語リファレンス
ホームSecurity.Cryptography.Certificates › IX509EnrollmentWebClassFactory

IX509EnrollmentWebClassFactory

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID728ab349-217d-11da-b2a4-000e7bbb2b09継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

Web ページ上で次のいずれかのオブジェクトを作成するために使用できます。

メソッド 1

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT CreateObject(LPWSTR strProgID, IUnknown** ppIUnknown)

Web ページ上でユーザーコンテキスト内にオブジェクトを作成するために使用できます。

strProgIDLPWSTRin

Prog ID を格納する BSTR 変数です。次の表は、このメソッドを使用して作成できる各オブジェクトに対して使用できる文字列を示します。

オブジェクト Prog ID 文字列
ICertProperties
"X509Enrollment.CCertProperties"
ICertPropertyDescription
"X509Enrollment.CCertPropertyDescription"
ICertPropertyFriendlyName
"X509Enrollment.CCertPropertyFriendlyName"
ICspInformation
"X509Enrollment.CCspInformation"
ICspInformations
"X509Enrollment.CCspInformations"
ICspStatus
"X509Enrollment.CCspStatus"
IObjectId
"X509Enrollment.CObjectId"
IObjectIds
"X509Enrollment.CObjectIds"
ISignerCertificate
"X509Enrollment.CSignerCertificate"
IX500DistinguishedName
"X509Enrollment.CX500DistinguishedName"
IX509CertificateRequestCmc
"X509Enrollment.CX509CertificateRequestCmc"
IX509CertificateRequestPkcs10
"X509Enrollment.CX509CertificateRequestPkcs10"
IX509CertificateRequestPkcs7
"X509Enrollment.CX509CertificateRequestPkcs7"
IX509Enrollment
"X509Enrollment.CX509Enrollment"
IX509EnrollmentHelper
"X509Enrollment.CX509EnrollmentHelper"
IX509Extension
"X509Enrollment.CX509Extension"
IX509ExtensionEnhancedKeyUsage
"X509Enrollment.CX509ExtensionEnhancedKeyUsage"
IX509ExtensionKeyUsage
"X509Enrollment.CX509ExtensionKeyUsage"
IX509Extensions
"X509Enrollment.CX509Extensions"
IX509ExtensionTemplate
"X509Enrollment.CX509ExtensionTemplate"
IX509ExtensionTemplateName
"X509Enrollment.CX509ExtensionTemplateName"
IX509PrivateKey
"X509Enrollment.CX509PrivateKey"
ppIUnknownIUnknown**out作成されたオブジェクトを表す IUnknown インターフェースへのポインターを受け取る変数のアドレスです。

戻り値

関数が成功した場合、S_OK を返します。

関数が失敗した場合、エラーを示す HRESULT 値を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

戻り値コード 説明
E_NOINTERFACE
指定した Prog ID は、このメソッドを使用して作成できないオブジェクトを表しています。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IX509EnrollmentWebClassFactory "{728AB349-217D-11DA-B2A4-000E7BBB2B09}"
#usecom global IX509EnrollmentWebClassFactory IID_IX509EnrollmentWebClassFactory "{}"
#comfunc global IX509EnrollmentWebClassFactory_CreateObject  7 wstr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。