Win32 API 日本語リファレンス
ホームStorage.Xps › IXpsSignature

IXpsSignature

COM
IID6ae4c93e-1ade-42fb-898b-3a5658284857継承元IUnknown自前メソッド開始 vtbl3

メソッド 12

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

vtbl 3 HRESULT GetSignatureId(LPWSTR* sigId)
sigIdLPWSTR*out署名 ID 文字列を受け取るポインタである。呼び出し側が解放する。
vtbl 4 HRESULT GetSignatureValue(BYTE** signatureHashValue, DWORD* count)
signatureHashValueBYTE**out署名のハッシュ値を格納したバイト配列を受け取るポインタである。呼び出し側が解放する。
countDWORD*out署名ハッシュ値のバイト数を受け取る変数へのポインタである。
vtbl 5 HRESULT GetCertificateEnumerator(IOpcCertificateEnumerator** certificateEnumerator)
certificateEnumeratorIOpcCertificateEnumerator**out署名に関連付けられた証明書を列挙する IOpcCertificateEnumerator を受け取るポインタである。
vtbl 6 HRESULT GetSigningTime(LPWSTR* sigDateTimeString)
sigDateTimeStringLPWSTR*out署名時刻を表す日時文字列を受け取るポインタである。呼び出し側が解放する。
vtbl 7 HRESULT GetSigningTimeFormat(OPC_SIGNATURE_TIME_FORMAT* timeFormat)
timeFormatOPC_SIGNATURE_TIME_FORMAT*out署名時刻の書式を受け取る OPC_SIGNATURE_TIME_FORMAT へのポインタである。
vtbl 8 HRESULT GetSignaturePartName(IOpcPartUri** signaturePartName)
signaturePartNameIOpcPartUri**out署名のパート名を表す IOpcPartUri を受け取るポインタである。
vtbl 9 HRESULT Verify(CERT_CONTEXT* x509Certificate, XPS_SIGNATURE_STATUS* sigStatus)
x509CertificateCERT_CONTEXT*in署名の検証に用いる X.509 証明書を表す CERT_CONTEXT へのポインタである。
sigStatusXPS_SIGNATURE_STATUS*out検証結果の署名ステータスを受け取る XPS_SIGNATURE_STATUS へのポインタである。
vtbl 10 HRESULT GetPolicy(XPS_SIGN_POLICY* policy)
policyXPS_SIGN_POLICY*out署名ポリシーを受け取る XPS_SIGN_POLICY へのポインタである。
vtbl 11 HRESULT GetCustomObjectEnumerator(IOpcSignatureCustomObjectEnumerator** customObjectEnumerator)
customObjectEnumeratorIOpcSignatureCustomObjectEnumerator**out署名のカスタムオブジェクトを列挙する IOpcSignatureCustomObjectEnumerator を受け取るポインタである。
vtbl 12 HRESULT GetCustomReferenceEnumerator(IOpcSignatureReferenceEnumerator** customReferenceEnumerator)
customReferenceEnumeratorIOpcSignatureReferenceEnumerator**out署名のカスタム参照を列挙する IOpcSignatureReferenceEnumerator を受け取るポインタである。
vtbl 13 HRESULT GetSignatureXml(BYTE** signatureXml, DWORD* count)
signatureXmlBYTE**out署名の XML データを格納したバイト配列を受け取るポインタである。呼び出し側が解放する。
countDWORD*out署名 XML データのバイト数を受け取る変数へのポインタである。
vtbl 14 HRESULT SetSignatureXml(BYTE* signatureXml, DWORD count)
signatureXmlBYTE*in設定する署名の XML データを格納したバイト配列を指定する。
countDWORDin署名 XML データのバイト数を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IXpsSignature "{6AE4C93E-1ADE-42FB-898B-3A5658284857}"
#usecom global IXpsSignature IID_IXpsSignature "{}"
#comfunc global IXpsSignature_GetSignatureId                3 var
#comfunc global IXpsSignature_GetSignatureValue             4 var,var
#comfunc global IXpsSignature_GetCertificateEnumerator      5 sptr
#comfunc global IXpsSignature_GetSigningTime                6 var
#comfunc global IXpsSignature_GetSigningTimeFormat          7 var
#comfunc global IXpsSignature_GetSignaturePartName          8 sptr
#comfunc global IXpsSignature_Verify                        9 var,var
#comfunc global IXpsSignature_GetPolicy                     10 var
#comfunc global IXpsSignature_GetCustomObjectEnumerator     11 sptr
#comfunc global IXpsSignature_GetCustomReferenceEnumerator  12 sptr
#comfunc global IXpsSignature_GetSignatureXml               13 var,var
#comfunc global IXpsSignature_SetSignatureXml               14 var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。