Partager via


Routine MRxExtendForNonCache

La routine MRxExtendForNonCache est appelée par RDBSS pour demander à un mini-redirecteur réseau d’étendre un fichier lorsque le fichier n’est pas mis en cache par le gestionnaire de cache.

Syntaxe

PMRX_EXTENDFILE_CALLDOWN MRxExtendForNonCache;

ULONG MRxExtendForNonCache(
  _Inout_ PRX_CONTEXT    RxContext,
  _Inout_ PLARGE_INTEGER pNewFileSize,
  _Out_   PLARGE_INTEGER pNewAllocationSize
)
{ ... }

Paramètres

RxContext [in, out]
Pointeur vers la structure RX_CONTEXT. Ce paramètre contient l’IRP qui demande l’opération.

pNewFileSize [in, out]
Pointeur vers la valeur LARGE_INTEGER indiquant le nombre d’octets de la nouvelle taille de fichier.

pNewAllocationSize [out]
Pointeur vers le LARGE_INTEGER pour stocker la nouvelle taille d’allocation lorsque MRxExtendForCache retourne.

Valeur retournée

MRxExtendForNonCache retourne STATUS_SUCCESS en cas de réussite ou un code d’erreur en cas d’échec.

Remarques

MRxExtendForNonCache gère les demandes réseau pour étendre le fichier pour les E/S non mises en cache.

Avant d’appeler MRxExtendForNonCache, RDBSS modifie les membres suivants dans la structure RX_CONTEXT pointée vers le paramètre RxContext :

LowIoContext.Operation a la valeur LOWIO_OP_WRITE

LowIoContext.ParamsFor.ReadWrite.Flags a le LOWIO_READWRITEFLAG_EXTENDING_FILESIZE bit défini

Un mini-redirecteur réseau qui met en cache des informations de fichier ou de répertoire peut avoir besoin d’invalider ses informations de cache lorsque le fichier est étendu.

Configuration requise

Plateforme cible

Desktop (Expérience utilisateur)

En-tête

Mrx.h (inclure Mrx.h)

Voir aussi

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend