Compartilhar via


Nomes de dispositivo NT

Um objeto de dispositivo nomeado tem um nome do formulário \Device\DeviceName. Isso é conhecido como o nome do dispositivo NT do objeto do dispositivo.

Nomes de dispositivos para drivers WDM

Os WDM drivers não nomeiam seus objetos de dispositivo diretamente. Em vez disso, o sistema impõe um esquema de nomenclatura uniforme que garante que os nomes de dispositivos não entrem em conflito entre drivers. O esquema de nomenclatura para drivers WDM é o seguinte.

  • O PDO de um dispositivo é denominado. O motorista do ônibus solicita PDOs nomeados para os dispositivos que ele enumera. O driver de barramento especifica a característica do dispositivo FILE_AUTOGENERATED_DEVICE_NAME quando ele cria o objeto do dispositivo. Para obter mais informações, consulte Especificando características do dispositivo. Em seguida, o sistema gera automaticamente o nome do dispositivo.

  • FDOs e DOs de filtro não são nomeados. Os drivers de função e filtro não solicitam um nome ao criar o objeto do dispositivo.

Qualquer solicitação de E/S para um objeto de dispositivo com nome automaticamente vai para o objeto mais alto na pilha desse objeto de dispositivo. Portanto, é necessário nomear apenas o PDO. Os aplicativos de modo de usuário não se referem a objetos de dispositivo WDM pelo nome; Em vez disso, os aplicativos acessam o objeto do dispositivo por meio de sua interface do dispositivo. Para obter mais informações, consulte Classes de interface do dispositivo.

Os desenvolvedores de drivers não devem nomear mais de um objeto em uma pilha de dispositivos. O sistema operacional verifica as configurações de segurança com base no objeto nomeado. Se dois objetos diferentes forem nomeados e tiverem descritores de segurança diferentes, as solicitações de E/S enviadas ao objeto com o descritor de segurança mais fraco poderão alcançar o objeto do dispositivo com o descritor de segurança mais forte.

Nomes de dispositivo para drivers que não são WDM

Um driver não WDM deve especificar explicitamente um nome para quaisquer objetos de dispositivo nomeados. O driver deve criar pelo menos um objeto de dispositivo nomeado no diretório de objetos \Device para receber solicitações de E/S. O driver especifica o nome do dispositivo como o parâmetro DeviceName para IoCreateDeviceSecure ao criar o objeto do dispositivo.