Win32 API 日本語リファレンス
ホームStorage.Packaging.Opc › IOpcDigitalSignatureManager

IOpcDigitalSignatureManager

COM
IIDd5e62a0b-696d-462f-94df-72e33cef2659継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetSignatureOriginPartName(IOpcPartUri** signatureOriginPartName)
signatureOriginPartNameIOpcPartUri**out署名起点(Digital Signature Origin)パートのパート名 URI を表す IOpcPartUri を受け取るポインタである。
vtbl 4 HRESULT SetSignatureOriginPartName(IOpcPartUri* signatureOriginPartName)
signatureOriginPartNameIOpcPartUri*in署名起点パートに使用するパート名 URI を指定する IOpcPartUri である。NULL を指定すると既定のパート名が使用される。
vtbl 5 HRESULT GetSignatureEnumerator(IOpcDigitalSignatureEnumerator** signatureEnumerator)
signatureEnumeratorIOpcDigitalSignatureEnumerator**outパッケージ内のデジタル署名を列挙する IOpcDigitalSignatureEnumerator を受け取るポインタである。
vtbl 6 HRESULT RemoveSignature(IOpcPartUri* signaturePartName)
signaturePartNameIOpcPartUri*in削除対象の署名パートのパート名 URI を指定する IOpcPartUri である。
vtbl 7 HRESULT CreateSigningOptions(IOpcSigningOptions** signingOptions)
signingOptionsIOpcSigningOptions**out署名処理の各種設定を保持する新しい IOpcSigningOptions を受け取るポインタである。
vtbl 8 HRESULT Validate(IOpcDigitalSignature* signature, CERT_CONTEXT* certificate, OPC_SIGNATURE_VALIDATION_RESULT* validationResult)
signatureIOpcDigitalSignature*in検証対象のデジタル署名を表す IOpcDigitalSignature である。
certificateCERT_CONTEXT*in署名の検証に使用する証明書を表す CERT_CONTEXT へのポインタである。
validationResultOPC_SIGNATURE_VALIDATION_RESULT*out署名検証の結果を示す OPC_SIGNATURE_VALIDATION_RESULT 値を受け取るポインタである。
vtbl 9 HRESULT Sign(CERT_CONTEXT* certificate, IOpcSigningOptions* signingOptions, IOpcDigitalSignature** digitalSignature)
certificateCERT_CONTEXT*in署名に使用する証明書を表す CERT_CONTEXT へのポインタである。
signingOptionsIOpcSigningOptions*in署名の構成内容を指定する IOpcSigningOptions である。
digitalSignatureIOpcDigitalSignature**out生成されたデジタル署名を表す IOpcDigitalSignature を受け取るポインタである。
vtbl 10 HRESULT ReplaceSignatureXml(IOpcPartUri* signaturePartName, BYTE* newSignatureXml, DWORD count, IOpcDigitalSignature** digitalSignature)
signaturePartNameIOpcPartUri*in差し替え対象の署名パートのパート名 URI を指定する IOpcPartUri である。
newSignatureXmlBYTE*in新しい署名 XML マークアップを格納したバイト列バッファを指定するポインタである。
countDWORDinnewSignatureXml バッファのバイト数を指定する。
digitalSignatureIOpcDigitalSignature**out差し替え後のデジタル署名を表す IOpcDigitalSignature を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IOpcDigitalSignatureManager "{D5E62A0B-696D-462F-94DF-72E33CEF2659}"
#usecom global IOpcDigitalSignatureManager IID_IOpcDigitalSignatureManager "{}"
#comfunc global IOpcDigitalSignatureManager_GetSignatureOriginPartName  3 sptr
#comfunc global IOpcDigitalSignatureManager_SetSignatureOriginPartName  4 sptr
#comfunc global IOpcDigitalSignatureManager_GetSignatureEnumerator      5 sptr
#comfunc global IOpcDigitalSignatureManager_RemoveSignature             6 sptr
#comfunc global IOpcDigitalSignatureManager_CreateSigningOptions        7 sptr
#comfunc global IOpcDigitalSignatureManager_Validate                    8 sptr,var,var
#comfunc global IOpcDigitalSignatureManager_Sign                        9 var,sptr,sptr
#comfunc global IOpcDigitalSignatureManager_ReplaceSignatureXml         10 sptr,var,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。