Função FsRtlAllocateExtraCreateParameterList (ntifs.h)
A rotina
Sintaxe
NTSTATUS FsRtlAllocateExtraCreateParameterList(
[in] FSRTL_ALLOCATE_ECPLIST_FLAGS Flags,
[out] PECP_LIST *EcpList
);
Parâmetros
[in] Flags
Define as opções de alocação do pool. Se o sinalizador FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA for combinado com o parâmetro Flags usando uma operação OR bit a bit, qualquer pool alocado por FsRtlAllocateExtraCreateParameterList será cobrado contra a cota de memória do processo atual.
[out] EcpList
Recebe um ponteiro para uma estrutura de lista ECP inicializada. Se FsRtlAllocateExtraCreateParameterList não alocar pool suficiente, * EcpList será NULL e FsRtlAllocateExtraCreateParameterList retornará o código de status STATUS_INSUFFICIENT_RESOURCES.
Valor de retorno
FsRtlAllocateExtraCreateParameterList pode retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
STATUS_INSUFFICIENT_RESOURCES | FsRtlAllocateExtraCreateParameterList não pôde alocar memória suficiente para uma estrutura de lista ECP. Nesse caso, * EcpList será NULL. |
STATUS_SUCCESS | A memória da estrutura de ECP_LIST foi alocada e inicializada com êxito. Nesse caso, um ponteiro para a estrutura de lista inicializada é retornado no parâmetro EcpList |
Observações
Se o sistema operacional libera automaticamente a memória que FsRtlAllocateExtraCreateParameterList depende de quando FsRtlAllocateExtraCreateParameterList é chamado, conforme mostrado nas seguintes situações:
Um chamador pode invocar
FsRtlAllocateExtraCreateParameterList para alocar o ECP_LIST e adicionar uma ou mais estruturas de contexto ECP antes que o chamador invoque a rotina de IoCreateFileEx . Nessa situação, o sistema operacional não libera nenhuma das estruturas de contexto ECP. Portanto, o chamador pode fazer várias chamadas para IoCreateFileEx com o mesmo conjunto de ECP. Quando o chamador terminar de ECP_LIST, o chamador deverá chamar a rotina FltFreeExtraCreateParameterpara liberar o ECP_LIST. Enquanto um driver de filtro do sistema de arquivos ou sistema de arquivos processa uma solicitação IRP_MJ_CREATE, o driver de filtro do sistema de arquivos ou do sistema de arquivos pode chamar FltInsertExtraCreateParameter para anexar um ECP a um ECP_LIST existente. Se o ECP_LIST não existir, o chamador deverá chamar FsRtlAllocateExtraCreateParameterList para criar o ECP_LIST. Nessa situação, o ECP_LIST e a estrutura de contexto ECP são limpos automaticamente pelo gerenciador de E/S quando a operação de criação é concluída. Isso permite que o ECP do driver de filtro ou do sistema de arquivos seja propagado corretamente no processamento de pontos de nova análise. Esse processo pode exigir que várias solicitações de IRP_MJ_CREATE sejam geradas.
Se o sinalizador de FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA for usado com o parâmetro sinalizadores
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
da Plataforma de Destino |
Universal |
cabeçalho | ntifs.h (inclua Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL |
NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Consulte também
FltAllocateExtraCreateParameter
FltAllocateExtraCreateParameterFromLookasideList
FltFreeExtraCreateParameterList
IoCreateFileEx