Registrando uma classe de interface do dispositivo

Há duas maneiras de registrar uma classe de interface do dispositivo:

  • Um driver que controla um dispositivo PnP pode registrar uma interface do dispositivo em uma classe de interface de dispositivo específica. Como parte do registro da interface do dispositivo, a classe de interface do dispositivo será criada implicitamente. Este tópico descreve como usar as rotinas para registrar uma interface do dispositivo.

  • Um arquivo INF pode conter seções INF DDInstall.Interfaces.

Um driver WDM não nomeia seus objetos de dispositivo. Em vez disso, quando o driver chama IoCreateDevice para criar um objeto de dispositivo, ele deve especificar uma cadeia de caracteres nula para o nome do dispositivo. Para obter mais informações, consulte Criando um objeto de dispositivo.

Depois de criar o objeto do dispositivo e anexá-lo à pilha do dispositivo, um driver chama IoRegisterDeviceInterface para registrar uma classe de interface do dispositivo e criar uma instância de interface do dispositivo da classe . Normalmente, o driver de função faz essa chamada de sua rotina AddDevice , mas às vezes um driver de filtro registra a interface.

A rotina retorna um nome de link simbólico. Um driver passa o nome do link quando habilita ou desabilita a instância da interface do dispositivo. Outros componentes do sistema não podem usar uma instância de interface do dispositivo até que o driver a habilite. Consulte Habilitar e desabilitar uma instância de interface do dispositivo para obter detalhes.

O driver também usa o nome simbólico do link para acessar a chave do Registro, na qual pode armazenar informações específicas para a interface do dispositivo (consulte IoOpenDeviceInterfaceRegistryKey para obter mais informações). Os aplicativos usam o nome do link para abrir o dispositivo.

Um driver pode chamar IoRegisterDeviceInterface quantas vezes forem necessárias para registrar instâncias de classes de interface de dispositivo adicionais.

Para usar interfaces de dispositivo de um driver WDF, consulte Usando interfaces de dispositivo (WDF).