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

El método GetCanonicalName recupera el nombre canónico del dispositivo.

Sintaxis

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

Parámetros

[out] pwszPnPName

Búfer de caracteres anchos para los nombres canónicos. El autor de la llamada debe asignar y liberar este búfer.

[in] nMaxChars

Entero que especifica el número máximo de caracteres que se pueden colocar en pwszPnPName, incluido el carácter de terminación.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
E_INVALIDARG
El parámetro pwszPnPName es un puntero null o no válido.
WMDM_E_NOTSUPPORTED
El dispositivo no admite un nombre canónico.
WMDM_E_BUFFERTOOSMALL
El búfer especificado es demasiado pequeño para el nombre canónico.
E_FAIL
Se ha producido un error no especificado.

Comentarios

La aplicación puede usar el nombre canónico recuperado para llamar a IWMDeviceManager2::GetDeviceFromCanonicalName para volver a buscar este dispositivo.

El nombre canónico devuelto tiene el formato <PnP Device Path>$<index>, donde index es un índice de base cero en los objetos de dispositivo devueltos por el proveedor de servicios para la ruta de acceso del dispositivo PnP especificada.

El formato del nombre canónico está sujeto a cambios en futuras versiones de Windows Media Administrador de dispositivos.

Ejemplos

El siguiente código de C++ recupera un nombre canónico de dispositivo.


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

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado mswmdm.h
Library Mssachlp.lib

Consulte también

IWMDMDevice2 (Interfaz)

IWMDeviceManager2::GetDeviceFromCanonicalName