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 结构的指针。 通常,事件的 GUID 是通过调用 IStiDevice::GetLastNotificationData 获取的。

返回值

如果操作成功,该方法将返回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)