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


Функция StiCreateInstanceW (sti.h)

Функция StiCreateInstance создает экземпляр COM-объекта, который определяет интерфейс IStillImage , и возвращает указатель на интерфейс .

Синтаксис

HRESULT StiCreateInstanceW(
  HINSTANCE    hinst,
  DWORD        dwVer,
  IStillImageW **ppSti,
  LPUNKNOWN    punkOuter
);

Параметры

hinst

Дескриптор экземпляра вызывающего процесса, предоставленный вызывающим абонентом. Этот дескриптор получается путем вызова Метода GetModuleHandle(NULL).

dwVer

Номер версии STI, предоставленный вызывающим абонентом. Это значение должно быть STI_VERSION, определенное в Sti.h.

ppSti

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

punkOuter

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

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

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

Комментарии

Чтобы приложение использовало интерфейс IStillImage , оно должно сначала вызвать функцию StiCreateInstance , чтобы получить указатель на интерфейс. Указатель, полученный в ppSti , используется впоследствии при вызове методов IStillImage , как показано в следующем примере:

PSTI pSti = NULL;
DWORD dwStiTotal = 0;     // total number of STI devices found
PVOID pStiInfo = NULL;    // STI device info buffer
HRESULT hres = StiCreateInstance(GetModuleHandle(NULL), STI_VERSION, &pSti, NULL);
...
hhes = pSti->GetDeviceList(0, 0, &dwStiTotal, &pStiInfo);

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

Требования

Требование Значение
Заголовок sti.h (включая Sti.h)

См. также раздел

IStillImage::Release