Partager via


Méthode IWMDMDevice2 ::GetCanonicalName (mswmdm.h)

La méthode GetCanonicalName récupère le nom canonique de l’appareil.

Syntaxe

HRESULT GetCanonicalName(
  [out] LPWSTR pwszPnPName,
  [in]  UINT   nMaxChars
);

Paramètres

[out] pwszPnPName

Mémoire tampon à caractères larges pour les noms canoniques. Cette mémoire tampon doit être allouée et libérée par l’appelant.

[in] nMaxChars

Entier spécifiant le nombre maximal de caractères pouvant être placés dans pwszPnPName, y compris le caractère de fin.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
E_INVALIDARG
Le paramètre pwszPnPName est un pointeur non valide ou NULL.
WMDM_E_NOTSUPPORTED
L’appareil ne prend pas en charge un nom canonique.
WMDM_E_BUFFERTOOSMALL
La mémoire tampon spécifiée est trop petite pour le nom canonique.
E_FAIL
Une erreur non spécifiée s'est produite.

Remarques

L’application peut utiliser le nom canonique récupéré pour appeler IWMDeviceManager2 ::GetDeviceFromCanonicalName pour retrouver cet appareil.

Le nom canonique retourné est au format <PnP Device Path>$<index>, où index est un index de base zéro dans les objets d’appareil retournés par le fournisseur de services pour le chemin d’accès de l’appareil PnP spécifié.

Le format du nom canonique est susceptible de changer dans les versions futures de Windows Media Gestionnaire de périphériques.

Exemples

Le code C++ suivant récupère un nom canonique d’appareil.


// Obtain an IWMDMDevice2 interface and call
// some methods.
const UINT MAX_CHARS = 100;
CComQIPtr<IWMDMDevice2> pIWMDMDevice2(pIWMDMDevice);
if (pIWMDMDevice2 != NULL)
{
    // Get the canonical name.
    WCHAR canonicalName[MAX_CHARS];
    hr = pIWMDMDevice2->GetCanonicalName(canonicalName, MAX_CHARS);
    if (hr == S_OK)
    {
        // TODO: Retrieve the canonical name.
    }

    // Find out the driver.
    myGetDriverName(pIWMDMDevice2);
}

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h
Bibliothèque Mssachlp.lib

Voir aussi

IWMDMDevice2 Interface

IWMDeviceManager2 ::GetDeviceFromCanonicalName