Compartilhar via


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

O método GetCanonicalName recupera o nome canônico do dispositivo.

Sintaxe

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

Parâmetros

[out] pwszPnPName

Buffer de caractere largo para os nomes canônicos. Esse buffer deve ser alocado e liberado pelo chamador.

[in] nMaxChars

Inteiro que especifica o número máximo de caracteres que podem ser colocados em pwszPnPName, incluindo o caractere de encerramento.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
E_INVALIDARG
O parâmetro pwszPnPName é um ponteiro NULL ou inválido.
WMDM_E_NOTSUPPORTED
O dispositivo não dá suporte a um nome canônico.
WMDM_E_BUFFERTOOSMALL
O buffer especificado é muito pequeno para o nome canônico.
E_FAIL
Ocorreu um erro não especificado.

Comentários

O aplicativo pode usar o nome canônico recuperado para chamar IWMDeviceManager2::GetDeviceFromCanonicalName para localizar esse dispositivo novamente.

O nome canônico retornado está no formato <PnP Device Path>$<index>, em que index é um índice baseado em zero nos objetos de dispositivo retornados pelo provedor de serviços para o caminho do dispositivo PnP especificado.

O formato de nome canônico está sujeito a alterações em versões futuras do Windows Media Gerenciador de Dispositivos.

Exemplos

O código C++ a seguir recupera um nome canônico do 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 Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

IWMDMDevice2 Interface

IWMDeviceManager2::GetDeviceFromCanonicalName