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


Функция 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, необходимо указать указатель на "контролируемый неизвестный" в punkOuter. В большинстве случаев вы не создаете агрегатный объект, поэтому punkOuter должны быть NULL. Агрегирование объектов и управление неизвестными описаны в статье агрегирования и в спецификации объектной модели компонента.

Требования

Требование Ценность
заголовка sti.h (include Sti.h)

См. также

IStillImage::Release