IStillImageW::CreateDevice 方法 (sti.h)

IStillImage::CreateDevice 方法创建定义 IStiDevice COM 接口的 COM 对象的实例,并返回指向接口的指针。

语法

HRESULT CreateDevice(
  [in]           LPWSTR     pwszDeviceName,
                 DWORD      dwMode,
  [out]          PSTIDEVICE *pDevice,
  [in, optional] LPUNKNOWN  punkOuter
);

参数

[in] pwszDeviceName

调用方提供的指向表示内部设备名称的字符串的指针,通过调用 IStillImage::GetSTILaunchInformationIStillImage::GetDeviceList 获取。

dwMode

调用方提供的常量值,指示使用设备的 传输模式 。 以下值有效。

“模式” 说明
STI_DEVICE_CREATE_BOTH 正在打开设备以获取状态和传输数据。
STI_DEVICE_CREATE_DATA 打开设备仅用于数据传输。
STI_DEVICE_CREATE_STATUS 打开设备只是为了获取状态信息。

[out] pDevice

接收指向 IStiDevice COM 接口的指针。

[in, optional] punkOuter

调用方提供的可选指针,指向对象聚合的“控制未知”。 请参阅以下 “备注” 部分。

返回值

如果操作成功,该方法将返回S_OK。 否则,它将返回 stierr.h 中定义的 STIERR 前缀错误代码之一。

注解

若要使应用程序使用 IStiDevice 接口,必须先调用 IStillImage::StiCreateInstance 以获取指向 IStillImage 接口的指针,然后调用 IStillImage::CreateDevice 以获取指向 IStiDevice 接口的指针。 随后在调用 IStiDevice 方法时使用 pDevice 中收到的指针(如示例静态图像代码所示)来获取对指定设备的访问权限。

如果要创建包含 IStiDevice 的聚合 COM 对象,则必须提供指向 punkOuter 中“控制未知”的指针。 在大多数情况下,不会创建聚合对象,因此 punkOuter 应为 NULL。 Microsoft Windows SDK文档和组件对象模型规范中介绍了对象聚合和控制未知。

要求

要求
目标平台 桌面
标头 sti.h (包括 Sti.h)

另请参阅

IStiDevice::Release

IStillImageW