Compartilhar via


Nomes de dispositivo NT

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

Nomes de dispositivo para drivers WDM

Os drivers WDM 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 é nomeado. O driver de barramento solicita PDOs nomeados para os dispositivos que ele enumera. O driver de barramento especifica o FILE_AUTOGENERATED_DEVICE_NAME característica do dispositivo ao criar 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 de dispositivo.

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

Os gravadores de driver 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 não WDM

Um driver não WDM deve especificar explicitamente um nome para qualquer objeto de dispositivo nomeado. 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 de dispositivo.