Win32 API 日本語リファレンス
ホームDevices.ImageAcquisition › IWiaDrvItem

IWiaDrvItem

COM
IID1f02b5c5-b00c-11d2-a094-00c04f72dc3c継承元IUnknown自前メソッド開始 vtbl3

メソッド 13

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

vtbl 3 HRESULT GetItemFlags(INT* __MIDL__IWiaDrvItem0000)
__MIDL__IWiaDrvItem0000INT*outドライバー項目の種別を示すフラグ(WiaItemTypeFolder等のビットフラグ)を受け取る出力先。
vtbl 4 HRESULT GetDeviceSpecContext(BYTE** __MIDL__IWiaDrvItem0001)
__MIDL__IWiaDrvItem0001BYTE**out項目に紐づくデバイス固有コンテキストへのポインタを受け取る出力先のアドレス。ミニドライバーが任意データを格納する。
vtbl 5 HRESULT GetFullItemName(LPWSTR* __MIDL__IWiaDrvItem0002)
__MIDL__IWiaDrvItem0002LPWSTR*out項目のフルパス名(ツリー上の完全な階層名)を受け取る出力文字列のアドレス。
vtbl 6 HRESULT GetItemName(LPWSTR* __MIDL__IWiaDrvItem0003)
__MIDL__IWiaDrvItem0003LPWSTR*out項目自身の名前(階層を含まないローカル名)を受け取る出力文字列のアドレス。
vtbl 7 HRESULT AddItemToFolder(IWiaDrvItem* __MIDL__IWiaDrvItem0004)
__MIDL__IWiaDrvItem0004IWiaDrvItem*inoptional自身をフォルダーの子として追加する対象の親フォルダー項目へのインターフェイスポインタ。
vtbl 8 HRESULT UnlinkItemTree(INT __MIDL__IWiaDrvItem0005)
__MIDL__IWiaDrvItem0005INTinツリーから切り離す動作を制御するフラグ。切り離し方法やオプションを指定する整数。
vtbl 9 HRESULT RemoveItemFromFolder(INT __MIDL__IWiaDrvItem0006)
__MIDL__IWiaDrvItem0006INTin親フォルダーからの削除動作を制御するフラグを指定する整数。
vtbl 10 HRESULT FindItemByName(INT __MIDL__IWiaDrvItem0007, LPWSTR __MIDL__IWiaDrvItem0008, IWiaDrvItem** __MIDL__IWiaDrvItem0009)
__MIDL__IWiaDrvItem0007INTin検索動作を制御するフラグを指定する整数。
__MIDL__IWiaDrvItem0008LPWSTRin検索対象のフルアイテム名を表す文字列。
__MIDL__IWiaDrvItem0009IWiaDrvItem**out見つかった項目へのインターフェイスポインタを受け取る出力先のアドレス。
vtbl 11 HRESULT FindChildItemByName(LPWSTR __MIDL__IWiaDrvItem0010, IWiaDrvItem** __MIDL__IWiaDrvItem0011)
__MIDL__IWiaDrvItem0010LPWSTRin検索対象となる子項目の名前を表す文字列。
__MIDL__IWiaDrvItem0011IWiaDrvItem**out見つかった子項目へのインターフェイスポインタを受け取る出力先のアドレス。
vtbl 12 HRESULT GetParentItem(IWiaDrvItem** __MIDL__IWiaDrvItem0012)
__MIDL__IWiaDrvItem0012IWiaDrvItem**out親項目へのインターフェイスポインタを受け取る出力先のアドレス。最上位ならNULLになり得る。
vtbl 13 HRESULT GetFirstChildItem(IWiaDrvItem** __MIDL__IWiaDrvItem0013)
__MIDL__IWiaDrvItem0013IWiaDrvItem**out最初の子項目へのインターフェイスポインタを受け取る出力先のアドレス。子が無ければNULL。
vtbl 14 HRESULT GetNextSiblingItem(IWiaDrvItem** __MIDL__IWiaDrvItem0014)
__MIDL__IWiaDrvItem0014IWiaDrvItem**out次の兄弟項目へのインターフェイスポインタを受け取る出力先のアドレス。末尾ならNULL。
vtbl 15 HRESULT DumpItemData(LPWSTR* __MIDL__IWiaDrvItem0015)
__MIDL__IWiaDrvItem0015LPWSTR*out項目のデバッグ用ダンプ情報文字列を受け取る出力先のアドレス。

HSP用 COM定義

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

出力引数:
#define global IID_IWiaDrvItem "{1F02B5C5-B00C-11D2-A094-00C04F72DC3C}"
#usecom global IWiaDrvItem IID_IWiaDrvItem "{}"
#comfunc global IWiaDrvItem_GetItemFlags          3 var
#comfunc global IWiaDrvItem_GetDeviceSpecContext  4 var
#comfunc global IWiaDrvItem_GetFullItemName       5 var
#comfunc global IWiaDrvItem_GetItemName           6 var
#comfunc global IWiaDrvItem_AddItemToFolder       7 sptr
#comfunc global IWiaDrvItem_UnlinkItemTree        8 int
#comfunc global IWiaDrvItem_RemoveItemFromFolder  9 int
#comfunc global IWiaDrvItem_FindItemByName        10 int,wstr,sptr
#comfunc global IWiaDrvItem_FindChildItemByName   11 wstr,sptr
#comfunc global IWiaDrvItem_GetParentItem         12 sptr
#comfunc global IWiaDrvItem_GetFirstChildItem     13 sptr
#comfunc global IWiaDrvItem_GetNextSiblingItem    14 sptr
#comfunc global IWiaDrvItem_DumpItemData          15 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。