Partilhar via


Especificando características do dispositivo

Cada objeto de dispositivo pode ter uma ou mais características do dispositivo. As características do dispositivo são armazenadas como sinalizadores no membro Características da estrutura DEVICE_OBJECT do objeto do dispositivo.

A maioria dos drivers especifica apenas a característica FILE_DEVICE_SECURE_OPEN. Isso garante que as mesmas configurações de segurança sejam aplicadas a qualquer solicitação aberta no namespace do dispositivo. Para obter mais informações, consulte Controlando o acesso ao namespace do dispositivo.

O FILE_AUTOGENERATED_DEVICE_NAME é usado apenas para PDOs. As características FILE_FLOPPY_DISKETTE, FILE_REMOVABLE_MEDIA e FILE_WRITE_ONCE_MEDIA são específicas para dispositivos de armazenamento. Para obter uma descrição dos possíveis sinalizadores de característica do dispositivo, consulte a descrição do membro Características do DEVICE_OBJECT.

Determinadas características do dispositivo, como FILE_AUTOGENERATED_DEVICE_NAME, só se aplicam a objetos de dispositivo individuais. Os drivers podem especificar uma configuração para as características do dispositivo para objetos de dispositivo individuais ao criar o objeto de dispositivo chamando IoCreateDevice ou IoCreateDeviceSecure.

As seguintes características se aplicam a toda a pilha de dispositivos:

FILE_DEVICE_SECURE_OPEN

FILE_FLOPPY_DISKETTE

FILE_READ_ONLY_DEVICE

FILE_REMOVABLE_MEDIA

FILE_WRITE_ONCE_MEDIA

Os drivers podem definir características do dispositivo que se aplicam a toda a pilha de dispositivos chamando IoCreateDevice ou IoCreateDeviceSecure. Como alternativa, as características do dispositivo que se aplicam a toda a pilha de dispositivos podem ser definidas no registro, para o dispositivo ou para a classe de instalação do dispositivo. (Para obter mais informações, consulte Setting Device Object Properties in the Registry.)

O gerenciador PnP determina a configuração do Registro para características do dispositivo da seguinte maneira.

  • Se um valor for especificado para o dispositivo individual, o gerenciador PnP usará esse valor;

  • Caso contrário, se um valor for especificado para a classe de configuração do dispositivo, o gerenciador PnP usará esse valor;

  • Caso contrário, o gerenciador PnP usará um valor igual a zero como a configuração do Registro.

Se uma característica do dispositivo que se aplica a toda a pilha de dispositivos for definida no registro ou se estiver definida para qualquer FDO ou filtro DO na pilha, o gerenciador PnP o definirá para cada objeto de dispositivo na pilha. (Se o dispositivo for compatível com o modo bruto e, portanto, não tiver um FDO, o gerenciador PnP usará o PDO.)