Partilhar via


Função FltIsIoRedirectionAllowedForOperation (fltkernel.h)

A rotina FltIsIoRedirectionAllowedForOperation determina se a E/S pode ser redirecionada da instância de filtro associada à estrutura de FLT_CALLBACK_DATA especificada para a instância de filtro especificada.

Sintaxe

NTSTATUS FLTAPI FltIsIoRedirectionAllowedForOperation(
  [in]            PFLT_CALLBACK_DATA Data,
  [in]            PFLT_INSTANCE      TargetInstance,
  [out]           PBOOLEAN           RedirectionAllowedThisIo,
  [out, optional] PBOOLEAN           RedirectionAllowedAllIo
);

Parâmetros

[in] Data

Uma estrutura FLT_CALLBACK_DATA que representa a operação de E/S.

[in] TargetInstance

Uma instância de filtro na pilha do dispositivo de destino.

[out] RedirectionAllowedThisIo

Um valor true se essa E/S puder ser redirecionada para a pilha de dispositivos de destino alterando a instância de filtro referenciada.

[out, optional] RedirectionAllowedAllIo

Esse parâmetro opcional terá um valor true se toda a E/S para a pilha de dispositivos para a qual a operação de E/S for emitida puder ser redirecionada para o dispositivo de destino alterando a instância de filtro referenciada, caso contrário, FALSE.

Retornar valor

Um valor NTSTATUS de STATUS_SUCCESS para êxito ou STATUS_NOT_SUPPORTED se não houver suporte para o redirecionamento.

Comentários

Uma operação de E/S está associada a uma estrutura de FLT_CALLBACK_DATA . Essa estrutura contém uma referência a um objeto PFLT_IO_PARAMETER_BLOCK , que contém uma referência à FLT_INSTANCE do minifiltro associado à operação de E/S.

Se RedirectionAllowed for TRUE, o minifiltro poderá redirecionar E/S alterando essa instância para uma nova instância de destino.

Se RedirectionAllowed for FALSE, o minifiltro precisará alocar um novo objeto de dados de retorno de chamada para emitir E/S na pilha de destino ou chamar FltAdjustDeviceStackSizeForIoRedirection para aumentar o tamanho da pilha do dispositivo de origem.

Nota Os minifiltros não devem modificar a referência ao FLT_INSTANCE antes de verificar se o redirecionamento pode ser feito dessa maneira. Use FltIsIoRedirectionAllowedForOperation ou FltIsIoRedirectionAllowed.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 7 e versões posteriores do sistema operacional Windows.
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua FltKernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL <=DISPATCH_LEVEL

Confira também

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FltAdjustDeviceStackSizeForIoRedirection

FltIsIoRedirectionAllowed