Condividi tramite


Metodo IHolder::AllocResource (comsvcs.h)

Alloca una risorsa dall'inventario.

Sintassi

HRESULT AllocResource(
  [in]  const RESTYPID __MIDL__IHolder0000,
  [out] RESID          *__MIDL__IHolder0001
);

Parametri

[in] __MIDL__IHolder0000

Tipo di risorsa da allocare.

[out] __MIDL__IHolder0001

Puntatore alla posizione in cui viene restituito l'handle della risorsa allocata.

Valore restituito

Questo metodo può restituire i valori seguenti.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
E_INVALIDARG
ResTypId è NULL o una stringa vuota o il metodo IDispenserDriver::CreateResource di Resource Distributore ha generato un RESID vuoto o duplicato.
E_FAIL
Il metodo non è riuscito. Il parametro pResId non è stato impostato. La causa probabile è che la transazione del chiamante venga interrotta.

Commenti

Il manager di Distributore esegue i passaggi seguenti per individuare una risorsa:

  1. Cerca nel pool una risorsa gratuita di questo RESTYPID, già inserita nella transazione corrente del chiamante.
  2. Cerca nel pool una risorsa non elencata gratuita di questo RESTYPID e quindi la inserisce nella transazione corrente del chiamante.
  3. Crea la risorsa chiamando di nuovo il metodo IDispenserDriver::CreateResource di Resource Distributore e quindi lo integra.
Se il chiamante non dispone di una transazione corrente, l'integrazione viene ignorata. In alternativa, se il Distributore di risorse rifiuta l'integrazione (ovvero la risorsa non è in grado di eseguire transazioni), l'integrazione viene ignorata.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione comsvcs.h

Vedi anche

IDispenserDriver

IDispenserManager

IHolder