Obtendo informações sobre uma solicitação de E/S
Antes de processar uma solicitação de E/S, um driver deve determinar o tipo de solicitação. Quando um driver baseado em estrutura cria filas de E/S para um dispositivo, ele normalmente configura as filas de E/S e os manipuladores de solicitação para que cada fila ou manipulador de solicitação receba solicitações de um tipo específico (controle de E/S de leitura, gravação ou dispositivo).
Depois de determinar o tipo de solicitação, o driver deve obter os buffers de entrada e saída da solicitação, se necessário. Para obter informações sobre como obter buffers de uma solicitação, consulte Acessando buffers de dados em drivers de Framework-Based.
Para fornecer informações adicionais sobre uma solicitação de E/S que um driver recebeu, o objeto de solicitação de estrutura define os seguintes métodos:
WdfRequestGetIoQueue, que retorna um identificador para a fila de E/S da qual a solicitação de E/S foi entregue.
WdfRequestGetRequestorMode, que retorna o modo de acesso do processador (usuário ou kernel) do originador da solicitação.
WdfRequestGetFileObject, que retorna um identificador para o objeto de arquivo de estrutura associado à solicitação.
WdfRequestWdmGetIrp, que retorna a estrutura WDM IRP associada à solicitação.
WdfRequestGetParameters, que recupera parâmetros de solicitação não IRP no formato WDM.
Depois que um driver conclui uma solicitação de E/S, outros drivers na pilha de driver podem chamar métodos de objeto de solicitação adicionais para obter informações de conclusão da solicitação. Para obter mais informações sobre esses métodos adicionais, consulte Concluindo solicitações de E/S.