Rotina MRxExtendForNonCache
A rotina MRxExtendForNonCache é chamada pelo RDBSS para solicitar que um minidiretório de rede estenda um arquivo quando o arquivo não estiver sendo armazenado em cache pelo gerenciador de cache.
Sintaxe
PMRX_EXTENDFILE_CALLDOWN MRxExtendForNonCache;
ULONG MRxExtendForNonCache(
_Inout_ PRX_CONTEXT RxContext,
_Inout_ PLARGE_INTEGER pNewFileSize,
_Out_ PLARGE_INTEGER pNewAllocationSize
)
{ ... }
Parâmetros
RxContext [in, out]
Um ponteiro para a estrutura RX_CONTEXT. Esse parâmetro contém o IRP que está solicitando a operação.
pNewFileSize [in, out]
Um ponteiro para o valor LARGE_INTEGER indicando a contagem de bytes do novo tamanho do arquivo.
pNewAllocationSize [out]
Um ponteiro para o LARGE_INTEGER para armazenar o novo tamanho de alocação quando MRxExtendForCache retornar.
Retornar valor
MRxExtendForNonCache retorna STATUS_SUCCESS com êxito ou um código de erro em caso de falha.
Comentários
MRxExtendForNonCache manipula solicitações de rede para estender o arquivo para E/S não armazenado em cache.
Antes de chamar MRxExtendForNonCache, o RDBSS modifica os seguintes membros na estrutura RX_CONTEXT apontada pelo parâmetro RxContext :
LowIoContext.Operation é definido como LOWIO_OP_WRITE
LowIoContext.ParamsFor.ReadWrite.Flags tem o conjunto de bits LOWIO_READWRITEFLAG_EXTENDING_FILESIZE
Um minidiretório de rede que armazena em cache informações de arquivo ou diretório pode precisar invalidar suas informações de cache quando o arquivo for estendido.
Requisitos
Plataforma de destino |
Área de Trabalho |
parâmetro |
Mrx.h (inclua Mrx.h) |