Rutina MRxExtendForNonCache
RDBSS llama a la rutina MRxExtendForNonCache para solicitar que un minidirector de red extienda un archivo cuando el administrador de caché no almacena en caché el archivo.
Sintaxis
PMRX_EXTENDFILE_CALLDOWN MRxExtendForNonCache;
ULONG MRxExtendForNonCache(
_Inout_ PRX_CONTEXT RxContext,
_Inout_ PLARGE_INTEGER pNewFileSize,
_Out_ PLARGE_INTEGER pNewAllocationSize
)
{ ... }
Parámetros
RxContext [in, out]
Puntero a la estructura RX_CONTEXT. Este parámetro contiene el IRP que solicita la operación.
pNewFileSize [in, out]
Puntero al valor de LARGE_INTEGER que indica el recuento de bytes del nuevo tamaño de archivo.
pNewAllocationSize [out]
Puntero al LARGE_INTEGER para almacenar el nuevo tamaño de asignación cuando devuelve MRxExtendForCache .
Valor devuelto
MRxExtendForNonCache devuelve STATUS_SUCCESS al éxito o un código de error en caso de error.
Comentarios
MRxExtendForNonCache controla las solicitudes de red para ampliar el archivo para la E/S no almacenada en caché.
Antes de llamar a MRxExtendForNonCache, RDBSS modifica los siguientes miembros de la estructura de RX_CONTEXT a la que apunta el parámetro RxContext :
LowIoContext.Operation se establece en LOWIO_OP_WRITE
LowIoContext.ParamsFor.ReadWrite.Flags tiene establecido el bit LOWIO_READWRITEFLAG_EXTENDING_FILESIZE
Un minidirector de red que almacena en caché la información de archivos o directorios puede necesitar invalidar su información de caché cuando se extiende el archivo.
Requisitos
Plataforma de destino |
Escritorio |
Encabezado |
Mrx.h (incluya Mrx.h) |