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

IStillImageW

COM
IID641bd880-2dc8-11d0-90ea-00aa0060f86c継承元IUnknown自前メソッド開始 vtbl3

メソッド 15

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

vtbl 3 HRESULT Initialize(HINSTANCE hinst, DWORD dwVersion)
hinstHINSTANCEin呼び出し元アプリケーションのインスタンスハンドル。
dwVersionDWORDin使用するSTI APIのバージョン番号。STI_VERSIONを指定する。
vtbl 4 HRESULT GetDeviceList(DWORD dwType, DWORD dwFlags, DWORD* pdwItemsReturned, void** ppBuffer)
dwTypeDWORDin列挙するデバイスの種別を指定する値。現在は0を指定する。
dwFlagsDWORDin列挙動作を制御するフラグ。通常は0を指定する。
pdwItemsReturnedDWORD*out返されたデバイス情報の項目数を受け取るポインター。
ppBuffervoid**outデバイス情報配列を受け取るバッファーポインター。CoTaskMemFreeで解放する。
vtbl 5 HRESULT GetDeviceInfo(LPWSTR pwszDeviceName, void** ppBuffer)
pwszDeviceNameLPWSTRin情報を取得する対象デバイスの内部名。
ppBuffervoid**outデバイス情報を受け取るバッファーポインター。CoTaskMemFreeで解放する。
vtbl 6 HRESULT CreateDevice(LPWSTR pwszDeviceName, DWORD dwMode, IStiDevice** pDevice, IUnknown* punkOuter)
pwszDeviceNameLPWSTRin生成対象デバイスの内部名。
dwModeDWORDinデバイスを開くアクセスモード。STI_DEVICE_CREATE_DATA等を指定する。
pDeviceIStiDevice**out生成されたIStiDeviceインターフェイスを受け取るポインター。
punkOuterIUnknown*inoptionalアグリゲーション用の外部IUnknown。通常はNULL。
vtbl 7 HRESULT GetDeviceValue(LPWSTR pwszDeviceName, LPWSTR pValueName, DWORD* pType, BYTE* pData, DWORD* cbData)
pwszDeviceNameLPWSTRin値を取得する対象デバイスの内部名。
pValueNameLPWSTRin取得するレジストリ値の名前。
pTypeDWORD*out取得した値のデータ型(REG_SZ等)を受け取るポインター。
pDataBYTE*out値データを受け取るバッファー。
cbDataDWORD*inout入力時はバッファーサイズ、出力時は実データサイズを示すポインター(バイト単位)。
vtbl 8 HRESULT SetDeviceValue(LPWSTR pwszDeviceName, LPWSTR pValueName, DWORD Type, BYTE* pData, DWORD cbData)
pwszDeviceNameLPWSTRin値を設定する対象デバイスの内部名。
pValueNameLPWSTRin設定するレジストリ値の名前。
TypeDWORDin設定する値のデータ型(REG_SZ等)。
pDataBYTE*in設定する値データを格納したバッファー。
cbDataDWORDin値データのサイズ(バイト単位)。
vtbl 9 HRESULT GetSTILaunchInformation(LPWSTR pwszDeviceName, DWORD* pdwEventCode, LPWSTR pwszEventName)
pwszDeviceNameLPWSTRout起動契機となったデバイス名を受け取るバッファー。
pdwEventCodeDWORD*outoptional起動契機となったイベントコードを受け取るポインター。
pwszEventNameLPWSTRout起動契機となったイベント名を受け取るバッファー。
vtbl 10 HRESULT RegisterLaunchApplication(LPWSTR pwszAppName, LPWSTR pwszCommandLine)
pwszAppNameLPWSTRinSTIイベントで起動するアプリケーションの登録名。
pwszCommandLineLPWSTRin起動時に使用するコマンドラインまたは実行ファイルパス。
vtbl 11 HRESULT UnregisterLaunchApplication(LPWSTR pwszAppName)
pwszAppNameLPWSTRin登録解除するアプリケーションの登録名。
vtbl 12 HRESULT EnableHwNotifications(LPWSTR pwszDeviceName, BOOL bNewState)
pwszDeviceNameLPWSTRinハードウェア通知を制御する対象デバイスの内部名。
bNewStateBOOLin通知を有効化する場合はTRUE、無効化する場合はFALSE。
vtbl 13 HRESULT GetHwNotificationState(LPWSTR pwszDeviceName, BOOL* pbCurrentState)
pwszDeviceNameLPWSTRin通知状態を取得する対象デバイスの内部名。
pbCurrentStateBOOL*out現在の通知有効/無効状態を受け取るBOOLポインター。
vtbl 14 HRESULT RefreshDeviceBus(LPWSTR pwszDeviceName)
pwszDeviceNameLPWSTRinデバイスバスを再列挙し更新する対象デバイスの内部名。
vtbl 15 HRESULT LaunchApplicationForDevice(LPWSTR pwszDeviceName, LPWSTR pwszAppName, STINOTIFY* pStiNotify)
pwszDeviceNameLPWSTRinアプリケーションを起動する契機となるデバイスの内部名。
pwszAppNameLPWSTRin起動するアプリケーションの登録名。
pStiNotifySTINOTIFY*in起動時に渡す通知情報を格納したSTINOTIFY構造体。
vtbl 16 HRESULT SetupDeviceParameters(STI_DEVICE_INFORMATIONW* param0)
param0STI_DEVICE_INFORMATIONW*inout登録・設定するデバイス情報を格納したSTI_DEVICE_INFORMATIONW構造体。
vtbl 17 HRESULT WriteToErrorLog(DWORD dwMessageType, LPWSTR pszMessage)
dwMessageTypeDWORDinログメッセージの種別を示す値(エラー、警告等)。
pszMessageLPWSTRinエラーログに書き込むメッセージ文字列。

HSP用 COM定義

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

出力引数:
#define global IID_IStillImageW "{641BD880-2DC8-11D0-90EA-00AA0060F86C}"
#usecom global IStillImageW IID_IStillImageW "{}"
#comfunc global IStillImageW_Initialize                   3 sptr,int
#comfunc global IStillImageW_GetDeviceList                4 int,int,var,sptr
#comfunc global IStillImageW_GetDeviceInfo                5 wstr,sptr
#comfunc global IStillImageW_CreateDevice                 6 wstr,int,sptr,sptr
#comfunc global IStillImageW_GetDeviceValue               7 wstr,wstr,var,var,var
#comfunc global IStillImageW_SetDeviceValue               8 wstr,wstr,int,var,int
#comfunc global IStillImageW_GetSTILaunchInformation      9 var,var,var
#comfunc global IStillImageW_RegisterLaunchApplication    10 wstr,wstr
#comfunc global IStillImageW_UnregisterLaunchApplication  11 wstr
#comfunc global IStillImageW_EnableHwNotifications        12 wstr,int
#comfunc global IStillImageW_GetHwNotificationState       13 wstr,var
#comfunc global IStillImageW_RefreshDeviceBus             14 wstr
#comfunc global IStillImageW_LaunchApplicationForDevice   15 wstr,wstr,var
#comfunc global IStillImageW_SetupDeviceParameters        16 var
#comfunc global IStillImageW_WriteToErrorLog              17 int,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。