PMRX_IS_LOCK_REALIZABLE - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// 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 reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-mrx-pmrx_is_lock_realizable)

PMRX_IS_LOCK_REALIZABLE callback function

Description

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.

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.

See also

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend