IEnumWIA_FORMAT_INFO
COM公式ドキュメント
IEnumWIA_FORMAT_INFO インターフェイスは、デバイスのフォーマットおよびメディアの種類に関する情報を列挙するために使用します。
解説(Remarks)
IEnumWIA_FORMAT_INFO インターフェイスは、標準的な Component Object Model (COM) の列挙インターフェイスを Windows Image Acquisition (WIA) 向けに具体化した実装です。詳細については、IEnumXXXX を参照してください。
アプリケーションは、アイテムの IWiaDataTransfer インターフェイスの IWiaDataTransfer::idtEnumWIA_FORMAT_INFO メソッドを呼び出すことで、IEnumWIA_FORMAT_INFO インターフェイスへのポインターを取得します。
IEnumWIA_FORMAT_INFO インターフェイスは、すべての COM インターフェイスと同様に IUnknown インターフェイスのメソッドを継承します。
| IUnknown のメソッド | 説明 |
|---|---|
| IUnknown::QueryInterface | サポートされているインターフェイスへのポインターを返します。 |
| IUnknown::AddRef | 参照カウントをインクリメントします。 |
| IUnknown::Release | 参照カウントをデクリメントします。 |
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
IEnumWIA_FORMAT_INFO::Next メソッドは、WIA_FORMAT_INFO 構造体の配列を返します。
| celt | DWORD | in | 要求する要素数を指定します。 |
| rgelt | WIA_FORMAT_INFO* | inout | WIA_FORMAT_INFO 構造体の配列のアドレスを受け取ります。 |
| pceltFetched | DWORD* | inout | 出力時に、rgelt パラメーターで実際に返された WIA_FORMAT_INFO 構造体の数を格納する ULONG のアドレスを受け取ります。 |
戻り値
型: HRESULT
列挙が継続する場合、このメソッドは S_OK を返し、pceltFetched が指す値に返された機能の数を設定します。列挙が完了した場合は S_FALSE を返し、pceltFetched が指す値に 0 を設定します。メソッドが失敗した場合は、標準の COM エラーを返します。
IEnumWIA_FORMAT_INFO::Skip メソッドは、列挙内で指定された数の構造体をスキップします。
| celt | DWORD | in | スキップする構造体の数を指定します。 |
戻り値
型: HRESULT
指定された数の要素をスキップできた場合、このメソッドは S_OK を返します。指定された数の要素をスキップできなかった場合は S_FALSE を返します。メソッドが失敗した場合は、標準の COM エラーを返します。
IEnumWIA_FORMAT_INFO::Reset メソッドは、列挙を最初の WIA_FORMAT_INFO 構造体に戻します。
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
IEnumWIA_FORMAT_INFO::Clone メソッドは、IEnumWIA_FORMAT_INFO インターフェイスのインスタンスをもう 1 つ作成し、新しいインターフェイスへのインターフェイスポインターを返します。
| ppIEnum | IEnumWIA_FORMAT_INFO** | out | 新しい IEnumWIA_FORMAT_INFO インターフェイスへのポインターです。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
解説(Remarks)
アプリケーションは、ppIEnum パラメーターを通じて受け取ったインターフェイスポインターに対して IUnknown::Release メソッドを呼び出す必要があります。
IEnumWIA_FORMAT_INFO::GetCount メソッドは、この列挙子が保持している要素の数を返します。
| pcelt | DWORD* | out | 列挙内の要素数を受け取る ULONG へのポインターです。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IEnumWIA_FORMAT_INFO "{81BEFC5B-656D-44F1-B24C-D41D51B4DC81}" #usecom global IEnumWIA_FORMAT_INFO IID_IEnumWIA_FORMAT_INFO "{}" #comfunc global IEnumWIA_FORMAT_INFO_Next 3 int,var,var #comfunc global IEnumWIA_FORMAT_INFO_Skip 4 int #comfunc global IEnumWIA_FORMAT_INFO_Reset 5 #comfunc global IEnumWIA_FORMAT_INFO_Clone 6 sptr #comfunc global IEnumWIA_FORMAT_INFO_GetCount 7 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IEnumWIA_FORMAT_INFO "{81BEFC5B-656D-44F1-B24C-D41D51B4DC81}" #usecom global IEnumWIA_FORMAT_INFO IID_IEnumWIA_FORMAT_INFO "{}" #comfunc global IEnumWIA_FORMAT_INFO_Next 3 int,sptr,sptr #comfunc global IEnumWIA_FORMAT_INFO_Skip 4 int #comfunc global IEnumWIA_FORMAT_INFO_Reset 5 #comfunc global IEnumWIA_FORMAT_INFO_Clone 6 sptr #comfunc global IEnumWIA_FORMAT_INFO_GetCount 7 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。