Acessando os buffers de usuário para uma operação de E/S

A estrutura FLT_PARAMETERS para uma operação de E/S contém os parâmetros específicos da operação, incluindo endereços de buffer e MDL (listas de descritores de memória) para todos os buffers usados na operação.

Para operações de E/S baseadas em IRP, os buffers da operação podem ser especificados usando:

  • Somente MDL (normalmente para paginação de E/S)

  • Somente endereço de buffer

  • Endereço de buffer e MDL

Para operações rápidas de E/S, somente o endereço de buffer de espaço do usuário é especificado. As operações de E/S rápidas que têm buffers sempre não usam buffer nem E/S direta e, portanto, nunca têm parâmetros de MDL.

Os tópicos a seguir fornecem diretrizes para lidar com endereços de buffer e MDLs para operações de E/S rápidas e baseadas em IRP em rotinas de retorno de chamada de pré-operação do driver de minifiltro e rotinas de retorno de chamada de operação de postoperation:

Acessando buffers de usuário em uma rotina de retorno de chamada de pré-operação

Acessando buffers de usuário em uma rotina de retorno de chamada do Postoperation