PMRX_IS_LOCK_REALIZABLE コールバック関数 (mrx.h)

MRxIsLockRealizable ルーチンは RDBSS によって呼び出され、ネットワーク ミニ リダイレクターがこのNET_ROOT構造体で特定のバイト範囲ロックがサポートされているかどうかを示すように要求します。

構文

PMRX_IS_LOCK_REALIZABLE PmrxIsLockRealizable;

NTSTATUS PmrxIsLockRealizable(
  IN OUT PMRX_FCB Fcb,
  IN PLARGE_INTEGER ByteOffset,
  IN PLARGE_INTEGER Length,
  IN ULONG LowIoLockFlags
)
{...}

パラメーター

Fcb

[入力、出力]FCB 構造体へのポインター。

ByteOffset

[入力]バイト範囲ロックのバイト オフセットを示す値。

Length

[入力]バイト範囲ロックの長さを示す値。

LowIoLockFlags

[入力]I/O ロック フラグを示すビットマスクを持つ値。

戻り値

MRxIsLockRealizable は、成功したSTATUS_SUCCESS、または次のような適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_NOT_SUPPORTED 要求されたバイト範囲ロックはサポートされていません。 ネットワーク ミニ リダイレクターは、他の種類のバイト範囲ロックがサポートされている場合でもサポートされていないロック要求に対してこの値を返します。 サポートされていないロックには、64 ビット ロック (ByteOffset-HighPart> メンバーが 0 以外)、長さ 0 のロック (Length パラメーターが 0)、または共有ロック (LowIoLockFlags パラメーターのLOWIO_LOCKSFLAG_EXCLUSIVELOCK ビットが設定されていない) が含まれる場合があります。

注釈

MRxIsLockRealizable は、要求された特定のバイト範囲ロックがこのNET_ROOT構造体でサポートされているかどうかを判断します。 ネットワーク ミニ リダイレクターは、特定のバイト範囲ロックをサポートし、他のバイト範囲ロックをサポートしていない場合があります。 たとえば、ネットワーク ミニ リダイレクターでは、32 ビットバイト範囲ロックまたは排他ロックのみがサポートされる場合があります。

MRxIsLockRealizable は、IRP_MN_LOCKマイナー関数を使用して IRP を受信するために呼び出されます。

要件

要件
対象プラットフォーム デスクトップ
Header mrx.h (Mrx.h を含む)

こちらもご覧ください

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend