PMRX_IS_LOCK_REALIZABLE fonction de rappel (mrx.h)
La routine MRxIsLockRealizable est appelée par RDBSS pour demander à un mini-redirecteur réseau d’indiquer si un verrou de plage d’octets spécifique est pris en charge sur cette structure NET_ROOT.
Syntaxe
PMRX_IS_LOCK_REALIZABLE PmrxIsLockRealizable;
NTSTATUS PmrxIsLockRealizable(
IN OUT PMRX_FCB Fcb,
IN PLARGE_INTEGER ByteOffset,
IN PLARGE_INTEGER Length,
IN ULONG LowIoLockFlags
)
{...}
Paramètres
Fcb
[in, out] Pointeur vers la structure FCB.
ByteOffset
[in] Valeur indiquant le décalage d’octets pour le verrou de plage d’octets.
Length
[in] Valeur indiquant la longueur du verrou de plage d’octets.
LowIoLockFlags
[in] Valeur avec un masque de bits indiquant les indicateurs de verrouillage d’E/S.
Valeur retournée
MRxIsLockRealizable retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée, telle que :
Code de retour | Description |
---|---|
STATUS_NOT_SUPPORTED | Le verrou de plage d’octets demandé n’est pas pris en charge. Un mini-redirecteur réseau retourne cette valeur pour une demande de verrou qui n’est pas prise en charge même si d’autres types de verrous de plage d’octets sont pris en charge. Les verrous non pris en charge peuvent inclure des verrous 64 bits (le membre ByteOffset-HighPart> est différent de zéro), des verrous de longueur nulle (le paramètre Length est égal à zéro) ou des verrous partagés (le LOWIO_LOCKSFLAG_EXCLUSIVELOCK bit du paramètre LowIoLockFlags n’est pas défini). |
Remarques
MRxIsLockRealizable détermine si le verrou de plage d’octets spécifique demandé est pris en charge sur cette structure NET_ROOT. Un mini-redirecteur réseau peut prendre en charge certains verrous de plage d’octets et ne pas prendre en charge d’autres. Par exemple, un mini-redirecteur réseau peut uniquement prendre en charge les verrous de plage d’octets 32 bits ou les verrous exclusifs.
MRxIsLockRealizable est appelé en réponse à la réception d’un IRP avec la fonction mineure IRP_MN_LOCK.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | mrx.h (inclure Mrx.h) |