estrutura FSRTL_PER_FILE_CONTEXT (ntifs.h)
Um driver de filtro do sistema de arquivos herdado pode usar uma estrutura FSRTL_PER_FILE_CONTEXT para associar informações de contexto específicas do driver a um arquivo aberto.
Sintaxe
typedef struct _FSRTL_PER_FILE_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_FILE_CONTEXT, *PFSRTL_PER_FILE_CONTEXT;
Membros
Links
Um link para essa estrutura na lista de todas as estruturas de contexto por arquivo associadas ao mesmo arquivo. FsRtlInsertPerFileContext insere esse membro na lista de todas as estruturas de contexto por arquivo para um arquivo.
OwnerId
Um ponteiro para um buffer alocado pelo driver de filtro que identifica exclusivamente o proprietário da estrutura de contexto por arquivo. O formato dessa variável é específico do driver de filtro. Os drivers de filtro devem definir esse membro como um valor de NULL não
InstanceId
Um ponteiro para um buffer alocado pelo driver de filtro que pode ser usado para distinguir entre as estruturas de contexto por arquivo que são criadas pelo mesmo driver de filtro. O formato dessa variável é específico do driver de filtro. Os drivers de filtro podem definir esse membro como NULL.
FreeCallback
Um ponteiro para uma rotina de retorno de chamada que libera a estrutura de contexto por arquivo. Os drivers de filtro devem definir esse membro como um valor de NULL não
Observações
Para associar informações de contexto a um arquivo, um driver de filtro herdado primeiro aloca uma estrutura de FSRTL_PER_FILE_CONTEXT e a inicializa usando FsRtlInsertPerFileContext. Em seguida, o driver usa FsRtlInsertPerFileContext para associar esse objeto FSRTL_PER_FILE_CONTEXT ao arquivo. Quando o sistema rasga o objeto de contexto de arquivo de um arquivo, ele chama
Os gravadores de filtro devem escolher um OwnerID valor significativo e conveniente, como o endereço de um objeto de driver ou objeto de dispositivo.
Os gravadores de filtro devem escolher um InstanceID valor que seja significativo e conveniente, como o endereço do objeto de contexto do arquivo. Use a macro
A estrutura FSRTL_PER_FILE_CONTEXT pode ser usada as-isou inserida em uma estrutura de contexto por arquivo definida pelo driver.
A estrutura de FSRTL_PER_FILE_CONTEXT pode ser alocada do pool de páginas ou nãopagados.
A macro
Parâmetros
FileContext
FSRTL_PER_FILE_CONTEXT
O objeto FSRTL_PER_FILE_CONTEXT a ser inicializado.
OwnerId
PVOID
Um ponteiro para uma variável alocada pelo driver de filtro que identifica exclusivamente o proprietário da estrutura de contexto por arquivo. O formato é específico do driver de filtro. Esse parâmetro deve ter um valor de NULL não
InstanceId
PVOID
Um ponteiro para uma variável alocada pelo driver de filtro que identifica exclusivamente o proprietário da estrutura de contexto por arquivo. O formato é específico do driver de filtro. Esse parâmetro deve ter um valor de NULL não
FreeCallback
PFREE_FUNCTION
Um ponteiro para uma rotina de retorno de chamada que libera a estrutura de contexto por arquivo.
Valor de retorno
void
Nenhum.
Essa macro deve ser usada antes de chamar FsRtlInsertPerFileContext.
Os gravadores de filtro devem escolher um OwnerID valor significativo e conveniente, como o endereço de um objeto de driver ou objeto de dispositivo.
Os gravadores de filtro devem usar um InstanceID valor significativo e conveniente, como o endereço do objeto de contexto do arquivo. Use a macro
Para obter mais informações sobre como usar e criar objetos de contexto, consulte acompanhamento Per-File contexto em um driver de filtro do sistema de arquivos herdado.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir doWindows Vista. |
cabeçalho | ntifs.h (inclua Fltkernel.h, Ntifs.h) |
Consulte também
controle Per-File contexto em um driver de filtro do sistema de arquivos herdado