ホーム › Storage.Xps › IXpsSignatureManager
IXpsSignatureManager
COMメソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| fileName | LPWSTR | in | 読み込む XPS パッケージファイルのパスを指定する。 |
| stream | IStream* | in | 読み込む XPS パッケージのストリームを指定する。 |
vtbl 5 HRESULT Sign(IXpsSigningOptions* signOptions, CERT_CONTEXT* x509Certificate, IXpsSignature** signature)
| signOptions | IXpsSigningOptions* | in | 署名の各種オプションを指定する IXpsSigningOptions である。 |
| x509Certificate | CERT_CONTEXT* | in | 署名に用いる X.509 証明書を表す CERT_CONTEXT へのポインタである。 |
| signature | IXpsSignature** | out | 作成されたデジタル署名 IXpsSignature を受け取るポインタである。 |
vtbl 6 HRESULT GetSignatureOriginPartName(IOpcPartUri** signatureOriginPartName)
| signatureOriginPartName | IOpcPartUri** | out | 署名オリジンのパート名を表す IOpcPartUri を受け取るポインタである。 |
vtbl 7 HRESULT SetSignatureOriginPartName(IOpcPartUri* signatureOriginPartName)
| signatureOriginPartName | IOpcPartUri* | in | 設定する署名オリジンのパート名を表す IOpcPartUri を指定する。 |
vtbl 8 HRESULT GetSignatures(IXpsSignatureCollection** signatures)
| signatures | IXpsSignatureCollection** | out | パッケージ内の署名のコレクション IXpsSignatureCollection を受け取るポインタである。 |
vtbl 9 HRESULT AddSignatureBlock(IOpcPartUri* partName, DWORD fixedDocumentIndex, IXpsSignatureBlock** signatureBlock)
| partName | IOpcPartUri* | in | 追加する署名ブロックのパート名を表す IOpcPartUri を指定する。 |
| fixedDocumentIndex | DWORD | in | 署名ブロックを関連付ける固定ドキュメントのインデックスを指定する。 |
| signatureBlock | IXpsSignatureBlock** | out | 追加された署名ブロック IXpsSignatureBlock を受け取るポインタである。 |
vtbl 10 HRESULT GetSignatureBlocks(IXpsSignatureBlockCollection** signatureBlocks)
| signatureBlocks | IXpsSignatureBlockCollection** | out | パッケージ内の署名ブロックのコレクション IXpsSignatureBlockCollection を受け取るポインタである。 |
vtbl 11 HRESULT CreateSigningOptions(IXpsSigningOptions** signingOptions)
| signingOptions | IXpsSigningOptions** | out | 新規作成された署名オプション IXpsSigningOptions を受け取るポインタである。 |
vtbl 12 HRESULT SavePackageToFile(LPWSTR fileName, SECURITY_ATTRIBUTES* securityAttributes, DWORD flagsAndAttributes)
| fileName | LPWSTR | in | 署名済みパッケージを保存する出力先ファイルのパスを指定する。 |
| securityAttributes | SECURITY_ATTRIBUTES* | in | ファイル作成時のセキュリティ属性を指定する SECURITY_ATTRIBUTES へのポインタである。既定でよければ NULL を指定する。 |
| flagsAndAttributes | DWORD | in | ファイル作成時のフラグおよび属性を指定する。 |
| stream | IStream* | in | 署名済みパッケージを保存する出力先ストリームを指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXpsSignatureManager "{D3E8D338-FDC4-4AFC-80B5-D532A1782EE1}" #usecom global IXpsSignatureManager IID_IXpsSignatureManager "{B0C43320-2315-44A2-B70A-0943A140A8EE}" #comfunc global IXpsSignatureManager_LoadPackageFile 3 wstr #comfunc global IXpsSignatureManager_LoadPackageStream 4 sptr #comfunc global IXpsSignatureManager_Sign 5 sptr,var,sptr #comfunc global IXpsSignatureManager_GetSignatureOriginPartName 6 sptr #comfunc global IXpsSignatureManager_SetSignatureOriginPartName 7 sptr #comfunc global IXpsSignatureManager_GetSignatures 8 sptr #comfunc global IXpsSignatureManager_AddSignatureBlock 9 sptr,int,sptr #comfunc global IXpsSignatureManager_GetSignatureBlocks 10 sptr #comfunc global IXpsSignatureManager_CreateSigningOptions 11 sptr #comfunc global IXpsSignatureManager_SavePackageToFile 12 wstr,var,int #comfunc global IXpsSignatureManager_SavePackageToStream 13 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IXpsSignatureManager "{D3E8D338-FDC4-4AFC-80B5-D532A1782EE1}" #usecom global IXpsSignatureManager IID_IXpsSignatureManager "{B0C43320-2315-44A2-B70A-0943A140A8EE}" #comfunc global IXpsSignatureManager_LoadPackageFile 3 wstr #comfunc global IXpsSignatureManager_LoadPackageStream 4 sptr #comfunc global IXpsSignatureManager_Sign 5 sptr,sptr,sptr #comfunc global IXpsSignatureManager_GetSignatureOriginPartName 6 sptr #comfunc global IXpsSignatureManager_SetSignatureOriginPartName 7 sptr #comfunc global IXpsSignatureManager_GetSignatures 8 sptr #comfunc global IXpsSignatureManager_AddSignatureBlock 9 sptr,int,sptr #comfunc global IXpsSignatureManager_GetSignatureBlocks 10 sptr #comfunc global IXpsSignatureManager_CreateSigningOptions 11 sptr #comfunc global IXpsSignatureManager_SavePackageToFile 12 wstr,sptr,int #comfunc global IXpsSignatureManager_SavePackageToStream 13 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。