IWbemServices::OpenNamespace, méthode (wbemcli.h)

La méthode IWbemServices::OpenNamespace fournit à l’appelant un nouveau pointeur IWbemServices qui a l’espace de noms enfant spécifié comme contexte d’exploitation. Toutes les opérations via le nouveau pointeur, comme la création de classe ou d’instance, affectent uniquement cet espace de noms. L’espace de noms doit être un espace de noms enfant de l’objet actuel via lequel cette méthode est appelée.

Syntaxe

HRESULT OpenNamespace(
  [in]  const BSTR      strNamespace,
  [in]  long            lFlags,
  [in]  IWbemContext    *pCtx,
  [out] IWbemServices   **ppWorkingNamespace,
  [out] IWbemCallResult **ppResult
);

Paramètres

[in] strNamespace

Chemin d’accès à l’espace de noms cible. Pour plus d’informations, consultez Création de hiérarchies dans WMI. Cet espace de noms ne peut être relatif qu’à l’espace de noms actuel associé au pointeur d’interface IWbemServices . Ce paramètre ne peut pas être un chemin absolu ou NULL.

[in] lFlags

Ce paramètre peut être défini sur 0 pour effectuer cet appel synchrone. Pour effectuer cet appel semi-synchronisé, définissez lFlags sur WBEM_FLAG_RETURN_IMMEDIATELY, fournissez un pointeur valide pour le paramètre ppResult , et cet appel retourne immédiatement. Pour plus d’informations, consultez Appel d’une méthode.

[in] pCtx

Réservé. Ce paramètre doit être NULL.

[out] ppWorkingNamespace

Reçoit l’objet qui représente le nouveau contexte d’espace de noms. Le pointeur retourné a un nombre de références positif. L’appelant doit appeler la mise en production sur ce pointeur lorsqu’il n’est plus nécessaire. Ce pointeur a la valeur NULL lorsqu’il existe des erreurs. Si ce paramètre est spécifié, ppResult doit être NULL.

[out] ppResult

En règle générale , NULL. Si ce n’est pas NULL, ppWorkingNamespace doit être NULL. Dans ce cas, le paramètre reçoit un pointeur vers un nouvel objet IWbemCallResult . Si le paramètre lFlags est défini sur WBEM_FLAG_RETURN_IMMEDIATELY cet appel retourne immédiatement. Ensuite, l’appelant peut interroger régulièrement la méthode IWbemCallResult::GetResultServices jusqu’à ce que le pointeur de l’espace de noms demandé soit disponible. Ce paramètre est défini sur NULL lorsqu’il existe une erreur et qu’un nouvel objet n’est pas retourné.

Note Il est important de noter que lorsque vous utilisez ce paramètre, vous devez définir ppResult sur NULL avant d’appeler la méthode. Il s’agit d’une règle COM.
 

Valeur retournée

Cette méthode retourne un HRESULT indiquant l’état de l’appel de méthode. La liste suivante répertorie la valeur contenue dans un HRESULT.

En cas d’échec, vous pouvez obtenir toutes les informations disponibles à partir de la fonction COM GetErrorInfo.

Les codes d’erreur spécifiques à COM peuvent également être retournés si des problèmes réseau vous provoquent la perte de la connexion à distance à Windows Management.

Notes

La méthode IWbemLocator::ConnectServer peut également être utilisée pour ouvrir le même espace de noms. La seule différence est que la méthode OpenNamespace vous permet de placer des chemins d’objet relatifs dans le paramètre Espace de noms pour ouvrir les espaces de noms enfants de manière récursive; IWbemLocator::ConnectServer nécessite un chemin d’accès d’objet complet. Pour plus d’informations, consultez la description d’un chemin d’accès d’objet d’espace de noms WMI.

Par exemple, si l’espace de noms actuel associé au pointeur d’interface IWbemServices est racine, l’utilisation par défaut dans le paramètre Espace de noms génère un nouveau pointeur lié à l’espace de noms racine\default.

L’espace de noms est fermé lorsque la mise en production est appelée et que le nombre de références atteint 0 (zéro).

Configuration requise

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête wbemcli.h (include Wbemidl.h)
Bibliothèque Wbemuuid.lib
DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

Voir aussi

Création de hiérarchies dans WMI

IWbemLocator::ConnectServer

IWbemServices

Récupération d’un code d’erreur