Partager via


Méthode IHolder::AllocResource (comsvcs.h)

Alloue une ressource à partir de l’inventaire.

Syntaxe

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

Paramètres

[in] __MIDL__IHolder0000

Type de ressource à allouer.

[out] __MIDL__IHolder0001

Pointeur vers l’emplacement où le handle de la ressource allouée est retourné.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_INVALIDARG
ResTypId a la valeur NULL ou une chaîne vide, ou la méthode IDispenserDriver::CreateResource du distributeur de ressources a généré un RESID vide ou dupliqué.
E_FAIL
La méthode a échoué. Le paramètre pResId n’a pas été défini. La cause probable est que la transaction de l’appelant est en cours d’abandon.

Remarques

Le Gestionnaire de distribution effectue les étapes suivantes pour localiser une ressource :

  1. Recherche dans le pool une ressource gratuite de ce RESTYPID, qui est déjà inscrit dans la transaction actuelle de l’appelant.
  2. Recherche dans le pool une ressource non répertoriée gratuite de ce RESTYPID, puis l’inscrit dans la transaction actuelle de l’appelant.
  3. Crée la ressource en rappelant la méthode IDispenserDriver::CreateResource du générateur de ressources, puis l’inscrit.
Si l’appelant n’a pas de transaction actuelle, l’inscription est ignorée. Ou si le distributeur de ressources rejette l’inscription (ce qui signifie que la ressource ne peut pas être transactionnelle), l’inscription est ignorée.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête comsvcs.h

Voir aussi

IDispenserDriver

IDispenserManager

IHolder