Compartir a través de


Función StiCreateInstanceW (sti.h)

La función StiCreateInstance crea una instancia del objeto COM que define la interfaz IStillImage y devuelve un puntero a la interfaz .

Sintaxis

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

Parámetros

hinst

Identificador de instancia proporcionado por el autor de la llamada del proceso de llamada. Este identificador se obtiene mediante una llamada a GetModuleHandle(NULL).

dwVer

Número de versión de STI proporcionado por el autor de la llamada. Este valor debe ser STI_VERSION, definido en Sti.h.

ppSti

Recibe un puntero a la interfaz IStillImage .

punkOuter

Opcional, puntero proporcionado por el autor de la llamada al "control desconocido" para la agregación de objetos. Consulte la siguiente sección Comentarios .

Valor devuelto

Si la operación se realiza correctamente, el método devuelve S_OK. De lo contrario, devuelve uno de los códigos de error con prefijo STIERR definidos en stierr.h.

Comentarios

Para que una aplicación use la interfaz IStillImage , primero debe llamar a la función StiCreateInstance para obtener un puntero a la interfaz. El puntero recibido en ppSti se usa posteriormente al llamar a métodos IStillImage , como se muestra en el ejemplo siguiente:

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);

Si desea crear un objeto COM agregado que incluya IStillImage, debe proporcionar un puntero al "control desconocido" en punkOuter. En la mayoría de los casos no va a crear un objeto agregado, por lo que punkOuter debe ser NULL. La agregación de objetos y el control desconocido se describen en el artículo Agregación y en la Especificación del modelo de objetos componentes.

Requisitos

Requisito Valor
Header sti.h (include Sti.h)

Consulte también

IStillImage::Release