Поделиться через


Метод IStillImageW::CreateDevice (sti.h)

Метод IStillImage::CreateDevice создает экземпляр COM-объекта, который определяет ИНТЕРФЕЙС COM IStiDevice и возвращает указатель на интерфейс.

Синтаксис

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

Параметры

[in] pwszDeviceName

Указатель на строку, представляющую внутреннее имя устройства, полученную путем вызова IStillImage::GetSTILaunchInformation или IStillImage::GetDeviceList.

dwMode

Вызываемое константное значение, указывающее режимы передачи, в которых используется устройство. Допустимы следующие значения.

Режим Описание
STI_DEVICE_CREATE_BOTH Устройство открывается как для получения состояния, так и для передачи данных.
STI_DEVICE_CREATE_DATA Устройство открыто только для передачи данных.
STI_DEVICE_CREATE_STATUS Устройство открыто только для получения сведений о состоянии.

[out] pDevice

Получает указатель на COM-интерфейс IStiDevice.

[in, optional] punkOuter

Необязательный указатель на указатель, предоставленный вызывающим объектом, на "контролируемый неизвестный" для агрегирования объектов. См. следующий раздел примечания.

Возвращаемое значение

Если операция выполнена успешно, метод возвращает S_OK. В противном случае возвращается один из кодов ошибок с префиксом STIERR, определенных в stierr.h.

Замечания

Чтобы приложение использовало интерфейс IStiDevice, Сначала необходимо вызвать IStillImage::StiCreateInstance, чтобы получить указатель на интерфейс IStillImage, а затем вызвать IStillImage::CreateDevice, чтобы получить указатель на интерфейс IStiDevice. Указатель, полученный в pDevice, используется впоследствии при вызове методов IStiDevice, как показано в примере кода изображения, чтобы получить доступ к указанному устройству.

Если вы хотите создать агрегатный COM-объект, включающий IStiDevice, необходимо указать указатель на "контролируемый неизвестный" в punkOuter. В большинстве случаев вы не создаете агрегатный объект, поэтому punkOuter должны быть NULL. Агрегирование объектов и управление неизвестными описаны в документации по пакету SDK для Microsoft Windows и в спецификации спецификации объектной модели компонента.

Требования

Требование Ценность
целевая платформа Настольный
заголовка sti.h (include Sti.h)

См. также

IStiDevice::Release

IStillImageW