Freigeben über


IHolder::AllocResource-Methode (comsvcs.h)

Ordnet eine Ressource aus dem Bestand zu.

Syntax

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

Parameter

[in] __MIDL__IHolder0000

Der Typ der zuzuordnenden Ressource.

[out] __MIDL__IHolder0001

Ein Zeiger auf den Speicherort, an dem das Handle der zugeordneten Ressource zurückgegeben wird.

Rückgabewert

Diese Methode kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
ResTypId ist NULL oder eine leere Zeichenfolge, oder die IDispenserDriver::CreateResource-Methode des Resource Dispensers hat eine leere oder doppelte RESID generiert.
E_FAIL
Fehler bei der Methode. Der pResId-Parameter wurde nicht festgelegt. Die wahrscheinliche Ursache ist, dass die Transaktion des Aufrufers abgebrochen wird.

Hinweise

Der Dispenser-Manager führt die folgenden Schritte aus, um eine Ressource zu suchen:

  1. Durchsucht den Pool nach einer kostenlosen Ressource dieser RESTYPID, die bereits in der aktuellen Transaktion des Aufrufers aufgeführt ist.
  2. Durchsucht den Pool nach einer kostenlosen nicht eingetragenen Ressource dieser RESTYPID und listet sie dann in der aktuellen Transaktion des Aufrufers ein.
  3. Erstellt die Ressource, indem sie die IDispenserDriver::CreateResource-Methode des Resource Dispensers zurückruft, und führt sie dann ein.
Wenn der Aufrufer keine aktuelle Transaktion hat, wird die Eintragsliste übersprungen. Oder wenn der Resource Dispenser die Eintragung ablehnt (d. h. die Ressource ist nicht transaktionsfähig), wird die Eintragung übersprungen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile comsvcs.h

Weitere Informationen

IDispenserDriver

IDispenserManager

IHolder