Метод 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, необходимо указать указатель на элемент управления unknown в punkOuter. В большинстве случаев вы не будете создавать агрегатный объект, поэтому punkOuter должен иметь значение NULL. Агрегирование объектов и управление неизвестными описаны в документации по Microsoft Windows SDK и спецификации объектной модели компонентов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | sti.h (включая Sti.h) |