PMRX_IS_LOCK_REALIZABLE callback function (mrx.h)
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.
Syntax
PMRX_IS_LOCK_REALIZABLE PmrxIsLockRealizable;
NTSTATUS PmrxIsLockRealizable(
IN OUT PMRX_FCB Fcb,
IN PLARGE_INTEGER ByteOffset,
IN PLARGE_INTEGER Length,
IN ULONG LowIoLockFlags
)
{...}
Parameters
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.
Return value
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). |
Remarks
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.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | mrx.h (include Mrx.h) |