ホーム › Storage.Packaging.Opc › IOpcFactory
IOpcFactory
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| rootUri | IOpcUri** | out | パッケージのルートを表す URI である IOpcUri を受け取るポインタである。 |
vtbl 4 HRESULT CreatePartUri(LPWSTR pwzUri, IOpcPartUri** partUri)
| pwzUri | LPWSTR | in | 作成するパート URI の文字列表現を指定する。 |
| partUri | IOpcPartUri** | out | 作成されたパート名 URI を表す IOpcPartUri を受け取るポインタである。 |
vtbl 5 HRESULT CreateStreamOnFile(LPWSTR filename, OPC_STREAM_IO_MODE ioMode, SECURITY_ATTRIBUTES* securityAttributes, DWORD dwFlagsAndAttributes, IStream** stream)
| filename | LPWSTR | in | ストリームを開く対象ファイルのパスを指定する。 |
| ioMode | OPC_STREAM_IO_MODE | in | ファイルの入出力モード(読み取り/書き込み)を示す OPC_STREAM_IO_MODE 値である。 |
| securityAttributes | SECURITY_ATTRIBUTES* | in | 作成するファイルに適用するセキュリティ属性を指定する SECURITY_ATTRIBUTES へのポインタである。既定でよい場合は NULL を指定する。 |
| dwFlagsAndAttributes | DWORD | in | ファイルのフラグおよび属性を指定する DWORD 値である。 |
| stream | IStream** | out | ファイル上に作成された IStream を受け取るポインタである。 |
vtbl 6 HRESULT CreatePackage(IOpcPackage** package)
| package | IOpcPackage** | out | 新規に作成された空の OPC パッケージを表す IOpcPackage を受け取るポインタである。 |
vtbl 7 HRESULT ReadPackageFromStream(IStream* stream, OPC_READ_FLAGS flags, IOpcPackage** package)
| stream | IStream* | in | OPC パッケージを読み込む元の IStream である。 |
| flags | OPC_READ_FLAGS | in | パッケージ読み込み時の動作を制御する OPC_READ_FLAGS 値である。 |
| package | IOpcPackage** | out | 読み込まれたパッケージを表す IOpcPackage を受け取るポインタである。 |
vtbl 8 HRESULT WritePackageToStream(IOpcPackage* package, OPC_WRITE_FLAGS flags, IStream* stream)
| package | IOpcPackage* | in | 書き込む対象の OPC パッケージを表す IOpcPackage である。 |
| flags | OPC_WRITE_FLAGS | in | パッケージ書き込み時の動作を制御する OPC_WRITE_FLAGS 値である。 |
| stream | IStream* | in | パッケージの書き込み先となる IStream である。 |
vtbl 9 HRESULT CreateDigitalSignatureManager(IOpcPackage* package, IOpcDigitalSignatureManager** signatureManager)
| package | IOpcPackage* | in | デジタル署名を管理する対象の OPC パッケージを表す IOpcPackage である。 |
| signatureManager | IOpcDigitalSignatureManager** | out | 指定パッケージに対するデジタル署名マネージャ IOpcDigitalSignatureManager を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IOpcFactory "{6D0B4446-CD73-4AB3-94F4-8CCDF6116154}" #usecom global IOpcFactory IID_IOpcFactory "{6B2D6BA0-9F3E-4F27-920B-313CC426A39E}" #comfunc global IOpcFactory_CreatePackageRootUri 3 sptr #comfunc global IOpcFactory_CreatePartUri 4 wstr,sptr #comfunc global IOpcFactory_CreateStreamOnFile 5 wstr,int,var,int,sptr #comfunc global IOpcFactory_CreatePackage 6 sptr #comfunc global IOpcFactory_ReadPackageFromStream 7 sptr,int,sptr #comfunc global IOpcFactory_WritePackageToStream 8 sptr,int,sptr #comfunc global IOpcFactory_CreateDigitalSignatureManager 9 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IOpcFactory "{6D0B4446-CD73-4AB3-94F4-8CCDF6116154}" #usecom global IOpcFactory IID_IOpcFactory "{6B2D6BA0-9F3E-4F27-920B-313CC426A39E}" #comfunc global IOpcFactory_CreatePackageRootUri 3 sptr #comfunc global IOpcFactory_CreatePartUri 4 wstr,sptr #comfunc global IOpcFactory_CreateStreamOnFile 5 wstr,int,sptr,int,sptr #comfunc global IOpcFactory_CreatePackage 6 sptr #comfunc global IOpcFactory_ReadPackageFromStream 7 sptr,int,sptr #comfunc global IOpcFactory_WritePackageToStream 8 sptr,int,sptr #comfunc global IOpcFactory_CreateDigitalSignatureManager 9 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。