// mrx.h
PMRX_IS_LOCK_REALIZABLE PmrxIsLockRealizable;
NTSTATUS PmrxIsLockRealizable(
IN OUT PMRX_FCB Fcb,
IN PLARGE_INTEGER ByteOffset,
IN PLARGE_INTEGER Length,
IN ULONG LowIoLockFlags
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
The MRxIsLockRealizable routine is called by RDBSS to request that a network mini-redirector indicate whether a specific byte-range lock is supported on this NET_ROOT structure.
Fcb[in, out] A pointer to the FCB structure.
ByteOffset[in] A value indicating the byte offset for the byte range lock.
Length[in] A value indicating the length for the byte range lock.
LowIoLockFlags[in] A value with a bitmask indicating the I/O lock flags.
MRxIsLockRealizable returns STATUS_SUCCESS on success or an appropriate NTSTATUS value, such as the following:
| Return code | Description |
|---|---|
| STATUS_NOT_SUPPORTED | The byte range lock that is requested is not supported. A network mini-redirector would return this value for a lock request that is not supported even if other types of byte range locks are supported. Unsupported locks might include 64-bit locks (the ByteOffset->HighPart member is nonzero), zero-length locks (the Length parameter is zero), or shared locks (the LOWIO_LOCKSFLAG_EXCLUSIVELOCK bit of the LowIoLockFlags parameter is not set). |
MRxIsLockRealizable determines whether the specific byte-range lock requested is supported on this NET_ROOT structure. A network mini-redirector might support certain byte range locks and not support others. For example, a network mini-redirector might only support 32-bit byte range locks or exclusive locks.
MRxIsLockRealizable is called in response to receiving an IRP with the IRP_MN_LOCK minor function.
MRxShouldTryToCollapseThisOpen