Condividi tramite


Funzione StiCreateInstanceW (sti.h)

La funzione stiCreateInstance crea un'istanza dell'oggetto COM che definisce l'interfaccia IStill Image e restituisce un puntatore all'interfaccia.

Sintassi

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

Parametri

hinst

Handle di istanza fornito dal chiamante del processo chiamante. Questo handle viene ottenuto chiamando GetModuleHandle(NULL).

dwVer

Numero di versione STI fornito dal chiamante. Questo valore deve essere STI_VERSION, definito in Sti.h.

ppSti

Riceve un puntatore all'interfaccia IStillImage.

punkOuter

Puntatore fornito dal chiamante facoltativo al "controllo sconosciuto" per l'aggregazione di oggetti. Vedere la sezione osservazioni seguente.

Valore restituito

Se l'operazione ha esito positivo, il metodo restituisce S_OK. In caso contrario, restituisce uno dei codici di errore con prefisso STIERR definiti in stierr.h.

Osservazioni

Affinché un'applicazione usi l'interfaccia IStillImage, deve prima chiamare la funzione StiCreateInstance per ottenere un puntatore all'interfaccia. Il puntatore ricevuto in ppSti viene usato successivamente quando si chiama metodi IStillImage, come illustrato nell'esempio seguente:

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

Se si desidera creare un oggetto COM aggregato che include IStillImage, è necessario fornire un puntatore al "controllo sconosciuto" in punkOuter. Nella maggior parte dei casi non si creerà un oggetto aggregato, quindi punkOuter dovrebbe essere NULL. L'aggregazione degli oggetti e il controllo sconosciuto sono descritti nell'articolo aggregazione e nella specifica del modello a oggetti del componente .

Fabbisogno

Requisito Valore
intestazione sti.h (include Sti.h)

Vedere anche

IStillImage::Release