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

IOpcDigitalSignature

COM
IID52ab21dd-1cd0-4949-bc80-0c1232d00cb4継承元IUnknown自前メソッド開始 vtbl3

メソッド 15

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

vtbl 3 HRESULT GetNamespaces(LPWSTR** prefixes, LPWSTR** namespaces, DWORD* count)
prefixesLPWSTR**out署名 XML で使用される名前空間の接頭辞文字列の配列を受け取るポインタである。呼び出し側が解放する。
namespacesLPWSTR**out各接頭辞に対応する名前空間 URI 文字列の配列を受け取るポインタである。prefixes と対をなす。
countDWORD*out返される接頭辞および名前空間の組の個数を受け取るポインタである。
vtbl 4 HRESULT GetSignatureId(LPWSTR* signatureId)
signatureIdLPWSTR*out署名要素を識別する Id 属性の値を受け取る文字列ポインタである。設定されていない場合は NULL となることがある。
vtbl 5 HRESULT GetSignaturePartName(IOpcPartUri** signaturePartName)
signaturePartNameIOpcPartUri**outこの署名を格納するデジタル署名パートのパート名 URI を表す IOpcPartUri を受け取るポインタである。
vtbl 6 HRESULT GetSignatureMethod(LPWSTR* signatureMethod)
signatureMethodLPWSTR*out署名の生成に使用された署名アルゴリズムを示す URI 文字列を受け取るポインタである。
vtbl 7 HRESULT GetCanonicalizationMethod(OPC_CANONICALIZATION_METHOD* canonicalizationMethod)
canonicalizationMethodOPC_CANONICALIZATION_METHOD*out署名対象に適用された正規化(C14N)方式を示す OPC_CANONICALIZATION_METHOD 値を受け取るポインタである。
vtbl 8 HRESULT GetSignatureValue(BYTE** signatureValue, DWORD* count)
signatureValueBYTE**out署名値のバイト列を格納したバッファを受け取るポインタである。呼び出し側が解放する。
countDWORD*outsignatureValue バッファのバイト数を受け取るポインタである。
vtbl 9 HRESULT GetSignaturePartReferenceEnumerator(IOpcSignaturePartReferenceEnumerator** partReferenceEnumerator)
partReferenceEnumeratorIOpcSignaturePartReferenceEnumerator**outこの署名に含まれるパート参照を列挙する IOpcSignaturePartReferenceEnumerator を受け取るポインタである。
vtbl 10 HRESULT GetSignatureRelationshipReferenceEnumerator(IOpcSignatureRelationshipReferenceEnumerator** relationshipReferenceEnumerator)
relationshipReferenceEnumeratorIOpcSignatureRelationshipReferenceEnumerator**outこの署名に含まれるリレーションシップ参照を列挙する IOpcSignatureRelationshipReferenceEnumerator を受け取るポインタである。
vtbl 11 HRESULT GetSigningTime(LPWSTR* signingTime)
signingTimeLPWSTR*out署名が作成された日時を表す文字列を受け取るポインタである。署名時刻が記録されていない場合は NULL となることがある。
vtbl 12 HRESULT GetTimeFormat(OPC_SIGNATURE_TIME_FORMAT* timeFormat)
timeFormatOPC_SIGNATURE_TIME_FORMAT*out署名時刻の書式を示す OPC_SIGNATURE_TIME_FORMAT 値を受け取るポインタである。
vtbl 13 HRESULT GetPackageObjectReference(IOpcSignatureReference** packageObjectReference)
packageObjectReferenceIOpcSignatureReference**outパッケージ固有の Object 要素への署名参照を表す IOpcSignatureReference を受け取るポインタである。
vtbl 14 HRESULT GetCertificateEnumerator(IOpcCertificateEnumerator** certificateEnumerator)
certificateEnumeratorIOpcCertificateEnumerator**outこの署名に埋め込まれた証明書を列挙する IOpcCertificateEnumerator を受け取るポインタである。
vtbl 15 HRESULT GetCustomReferenceEnumerator(IOpcSignatureReferenceEnumerator** customReferenceEnumerator)
customReferenceEnumeratorIOpcSignatureReferenceEnumerator**outアプリケーションが追加したカスタム参照を列挙する IOpcSignatureReferenceEnumerator を受け取るポインタである。
vtbl 16 HRESULT GetCustomObjectEnumerator(IOpcSignatureCustomObjectEnumerator** customObjectEnumerator)
customObjectEnumeratorIOpcSignatureCustomObjectEnumerator**out署名に追加されたカスタム Object 要素を列挙する IOpcSignatureCustomObjectEnumerator を受け取るポインタである。
vtbl 17 HRESULT GetSignatureXml(BYTE** signatureXml, DWORD* count)
signatureXmlBYTE**out署名全体を表す XML マークアップのバイト列バッファを受け取るポインタである。呼び出し側が解放する。
countDWORD*outsignatureXml バッファのバイト数を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IOpcDigitalSignature "{52AB21DD-1CD0-4949-BC80-0C1232D00CB4}"
#usecom global IOpcDigitalSignature IID_IOpcDigitalSignature "{}"
#comfunc global IOpcDigitalSignature_GetNamespaces                                3 var,var,var
#comfunc global IOpcDigitalSignature_GetSignatureId                               4 var
#comfunc global IOpcDigitalSignature_GetSignaturePartName                         5 sptr
#comfunc global IOpcDigitalSignature_GetSignatureMethod                           6 var
#comfunc global IOpcDigitalSignature_GetCanonicalizationMethod                    7 var
#comfunc global IOpcDigitalSignature_GetSignatureValue                            8 var,var
#comfunc global IOpcDigitalSignature_GetSignaturePartReferenceEnumerator          9 sptr
#comfunc global IOpcDigitalSignature_GetSignatureRelationshipReferenceEnumerator  10 sptr
#comfunc global IOpcDigitalSignature_GetSigningTime                               11 var
#comfunc global IOpcDigitalSignature_GetTimeFormat                                12 var
#comfunc global IOpcDigitalSignature_GetPackageObjectReference                    13 sptr
#comfunc global IOpcDigitalSignature_GetCertificateEnumerator                     14 sptr
#comfunc global IOpcDigitalSignature_GetCustomReferenceEnumerator                 15 sptr
#comfunc global IOpcDigitalSignature_GetCustomObjectEnumerator                    16 sptr
#comfunc global IOpcDigitalSignature_GetSignatureXml                              17 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。