Freigeben über


IWMDMDevice2::GetCanonicalName-Methode (mswmdm.h)

Die GetCanonicalName-Methode ruft den kanonischen Namen des Geräts ab.

Syntax

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

Parameter

[out] pwszPnPName

Breitzeichenpuffer für die kanonischen Namen. Dieser Puffer muss vom Aufrufer zugeordnet und freigegeben werden.

[in] nMaxChars

Ganze Zahl, die die maximale Anzahl von Zeichen angibt, die in pwszPnPName platziert werden können, einschließlich des Beendigungszeichens.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode Beschreibung
E_INVALIDARG
Der parameter pwszPnPName ist ein ungültiger oder NULL-Zeiger .
WMDM_E_NOTSUPPORTED
Das Gerät unterstützt keinen kanonischen Namen.
WMDM_E_BUFFERTOOSMALL
Der angegebene Puffer ist für den kanonischen Namen zu klein.
E_FAIL
Es ist ein unbekannter Fehler aufgetreten.

Hinweise

Die Anwendung kann den abgerufenen kanonischen Namen verwenden, um IWMDeviceManager2::GetDeviceFromCanonicalName aufzurufen, um dieses Gerät erneut zu finden.

Der zurückgegebene kanonische Name hat das Format <PnP Device Path>$<index>, wobei index ein nullbasierter Index in die Geräteobjekte ist, die vom Dienstanbieter für den angegebenen PnP-Gerätepfad zurückgegeben werden.

Das Format des kanonischen Namens kann sich in zukünftigen Versionen von Windows Media Geräte-Manager ändern.

Beispiele

Der folgende C++-Code ruft einen kanonischen Gerätenamen ab.


// 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);
}

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mswmdm.h
Bibliothek Mssachlp.lib

Weitere Informationen

IWMDMDevice2-Schnittstelle

IWMDeviceManager2::GetDeviceFromCanonicalName