União FLT_PARAMETERS para IRP_MJ_NETWORK_QUERY_OPEN
O componente da união a seguir é usado quando o campo MajorFunction da estrutura FLT_IO_PARAMETER_BLOCK para a operação for IRP_MJ_NETWORK_QUERY_OPEN.
Sintaxe
typedef union _FLT_PARAMETERS {
... ;
struct {
PIRP Irp;
PFILE_NETWORK_OPEN_INFORMATION NetworkInformation;
} NetworkQueryOpen;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Membros
NetworkQueryOpen: estrutura que contém os membros a seguir.
Irp: ponteiro para um IRP de criação que representa essa operação aberta. Esse IRP deve ser usado pelo sistema de arquivos para código aberto/criado comum, mas não realmente concluído.
NetworkInformation: ponteiro para um buffer estruturado FILE_NETWORK_OPEN_INFORMATION para receber as informações solicitadas sobre o arquivo.
Comentários
A estrutura FLT_PARAMETERS para operações IRP_MJ_NETWORK_QUERY_OPEN contém os parâmetros para uma operação NetworkQueryOpen, representada por uma estrutura (FLT_CALLBACK_DATA). A estrutura FLT_PARAMETERS está contida em uma estrutura FLT_IO_PARAMETER_BLOCK.
Observação
O objeto de arquivo associado a IRP_MJ_NETWORK_QUERY_OPEN é um objeto baseado em pilha. Um filtro registrado para o retorno de chamada NetworkQueryOpen não deve fazer referência a esse objeto. Ou seja, não chame ObReferenceObject ou ObDereferenceObject nesse objeto de arquivo baseado em pilha e não salve um ponteiro para o objeto.
IRP_MJ_NETWORK_QUERY_OPEN é uma operação de E/S rápida. É o equivalente à operação FastIoQueryOpen (não FastIoQueryNetworkOpenInfo). Um filtro pode rejeitar a operação em seu retorno de chamada pré-operação usando FLT_PREOP_DISALLOW_FASTIO. Ele não pode rejeitar a operação em seu retorno de chamada pós-operação, pois o sistema de arquivos já concluiu a operação e os dados estão presentes.
Requisitos
Tipo de requisito | Requisito |
---|---|
Cabeçalho | Fltkernel.h (inclui Fltkernel.h) |