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

调用方提供的指向描述设备事件的 STINOTIFY 结构的指针。 通常,通过调用 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 (include Sti.h)