共用方式為


IStillImageW::LaunchApplicationForDevice 方法 (sti.h)

IStillImage::LaunchApplicationForDevice 方法會針對指定的仍然映射裝置啟動指定的應用程式。

語法

HRESULT LaunchApplicationForDevice(
  [in] LPWSTR      pwszDeviceName,
  [in] LPWSTR      pwszAppName,
  [in] LPSTINOTIFY pStiNotify
);

參數

[in] pwszDeviceName

呼叫端提供的字串指標,代表內部裝置名稱,呼叫 IStillImage::GetSTILaunchInformationIStillImage::GetDeviceList 取得。

[in] pwszAppName

呼叫端提供的字串指標,代表呼叫 IStillImage::RegisterLaunchApplication 所註冊之應用程式的簡短名稱。

[in] pStiNotify

呼叫端提供的 STIFY 結構指標,描述裝置事件。 一般而言,呼叫 IStiDevice::GetLastNotificationData 即可取得事件的 GUID。

傳回值

如果作業成功,方法會傳回S_OK。 否則,它會傳回 stierr.h 中定義的其中一個 STIERR 前置錯誤碼。

備註

IStillImage::LaunchApplicationForDevice 方法只能藉由呼叫 IStillImage::RegisterLaunchApplication 來啟動已自行註冊的應用程式。 指定的事件必須是指定裝置支援的事件。 方法會模擬發生裝置事件,而且對於攔截裝置事件並重新路由的應用程式很有用。 當使用者啟動掃描器時,這類應用程式可能會詢問使用者是否要儲存掃描的影像、製作複本或傳送傳真。

呼叫 IStillImage::LaunchApplicationForDevice 之前, IStillImage COM 介面的客戶端必須呼叫 IStillImage::StiCreateInstance 以取得 IStillImage 介面指標。

範例

HRESULT hRes;
hRes = pStiDevice->GetLastNotificationData(&pNotify);
if (!SUCCEEDED(hRes))
{
    DisplayOutput("->GetLastNotificationData returned %xh %u",
        hReturn,hReturn);
}

// Process or filter events here

// Send event on to app
hRes = pSti->LaunchApplicationForDevice(pStiInfoPtr->szDeviceInternalName,
     L"AppName",
     pNotify);
if (!SUCCEEDED(hRes))
{
    DisplayOutput("->LaunchApplicationForDevice on %S returned %xh %u",
        pStiInfoPtr->szDeviceInternalName,hReturn,hReturn);
}

規格需求

需求
目標平台 桌面
標頭 sti.h (包含 Sti.h)