Compartilhar via


Arquitetura do UMDF

Este tópico descreve como o gerenciador de driver cria uma pilha de dispositivos no modo de usuário e como o processo de host, o refletor e o gerenciador de driver processam uma solicitação de E/S que um aplicativo envia a um driver do UMDF (User-Mode Driver Framework).

Semelhante a uma pilha do modo kernel, a construção e a desativação de uma pilha de modo de usuário são controladas por eventos de Plug and Play (PnP). Depois que a pilha do modo kernel for criada, o refletor notificará o gerenciador de driver para iniciar a construção da pilha do modo de usuário. O gerenciador de driver inicia o processo de host do driver e fornece informações suficientes para o processo iniciado para criar a pilha do modo de usuário. Dessa forma, a pilha do modo de usuário pode ser considerada uma extensão da pilha do modo kernel.

O processo de host do driver fornece o ambiente de execução para drivers de modo de usuário e roteia mensagens entre drivers na pilha do modo de usuário. O refletor usa um mecanismo de comunicação entre processos baseado em mensagem para se comunicar com o gerenciador de driver e o processo de host.

componentes umdf, incluindo objetos de dispositivo para cima e para baixo no refletor.

Para enviar uma solicitação de E/S para um driver UMDF, um aplicativo chama uma função de E/S de arquivo Win32, como CreateFile, ReadFileEx, CancelIoEx ou DeviceIoControl. Quando o refletor recebe uma solicitação do aplicativo cliente, ele envia a solicitação para o processo de host de driver apropriado. Em seguida, o processo de host do driver roteia a solicitação para a parte superior da pilha correta do dispositivo no modo de usuário.

A solicitação é concluída por um dos drivers na pilha do modo de usuário ou encaminhada por um dos drivers de volta para o refletor. Quando o refletor recebe uma solicitação da pilha de driver do modo de usuário, ele envia a solicitação para baixo na pilha do modo kernel para conclusão.