Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Muitos drivers criam mais de um tipo de objeto de dispositivo chamando IoCreateDevice. Alguns drivers criam objetos de dispositivo de controle em suas rotinas DriverEntry para permitir que os aplicativos se comuniquem com o driver, mesmo antes de o driver criar um FDO. Por exemplo, os drivers do sistema de arquivos criam objetos de dispositivo para lidar com notificações do sistema de arquivos quando eles se registram como sistemas de arquivos com IoRegisterFileSystem.
Um driver deve estar pronto para solicitações IRP_MJ_CREATE para qualquer objeto de dispositivo que ele crie. Depois de concluir a solicitação com um status de sucesso, o driver deve esperar receber todas as solicitações de E/S acessíveis pelo usuário no objeto de arquivo criado. Consequentemente, qualquer driver que crie mais de um objeto de dispositivo deve verificar qual objeto de dispositivo cada solicitação de E/S especifica.
Por exemplo, suponha que um driver cria objetos de dispositivo de controle geral em DriverEntry e, em seguida, cria outro conjunto de objetos de dispositivo em sua rotina AddDevice . Suponha que a rotina AddDevice inicializa a extensão do dispositivo com informações sobre drivers de nível inferior, mas os objetos de dispositivo de controle não contêm essas informações. Neste caso, todas as rotinas de despacho devem ter cuidado ao verificar cada objeto de dispositivo que recebem. Caso contrário, o driver pode falhar ao tentar usar informações de extensão de dispositivo.