RxAcquireSharedFcbResourceInMRxEx function (mrxfcb.h)

RxAcquireSharedFcbResourceInMRxEx acquires the FCB resource for a network mini-redirector driver in shared mode. This routine will wait for the FCB resource to be free if it was previously acquired exclusively and does not return control until the shared resource has been acquired.

Syntax

NTSTATUS RxAcquireSharedFcbResourceInMRxEx(
  [in] IN PRX_CONTEXT pRxContext,
       PMRX_FCB       Fcb
);

Parameters

[in] pRxContext

A pointer to the RX_CONTEXT. This parameter supplies the context of the operation for special treatment by internal RDBSS tracking if this feature is enabled.

Fcb

A pointer to the FCB. This parameter is required and cannot be NULL.

Return value

RxAcquireSharedFcbResourceInMRxEx returns STATUS_SUCCESS on success or one of the following error codes on failure:

Return code Description
STATUS_LOCK_NOT_GRANTED
The FCB resource was not acquired.
STATUS_CANCELLED
The RX_CONTEXT associated with the FCB was canceled.

Remarks

The synchronization resources of interest to a network mini-redirector driver are primarily associated with the FCB. There is a paging I/O resource and a regular resource. The paging I/O resource is managed internally by RDBSS. The only resource accessible to a network mini-redirector driver is the regular resource which should be accessed using RxAcquireExclusiveFcbResourceInMRx, RxAcquireExclusiveFcbResourceInMRxEx, or RxAcquireSharedFcbResourceInMRx, depending on the acquired mode desired.

RxAcquireSharedFcbResourceInMRxEx will wait for the FCB resource to be free if it was previously acquired exclusively and does not return control until the shared resource has been acquired. This routine acquires the FCB resource even if the RX_CONTEXT associated with this FCB has been canceled.

An FCB resource acquired with RxAcquireSharedFcbResourceInMRxEx should be released by calling RxReleaseFcbResourceInMRx or RxReleaseFcbResourceForThreadInMRx.

Requirements

Requirement Value
Minimum supported client The RxAcquireSharedFcbResourceInMRxEx routine is only available on Windows Server 2003 Service Pack 1 and later.
Target Platform Desktop
Header mrxfcb.h (include Mrxfcb.h)
IRQL <= APC_LEVEL

See also

RxAcquireExclusiveFcbResourceInMRx

RxAcquireSharedFcbResourceInMRx

RxReleaseFcbResourceForThreadInMRx

RxReleaseFcbResourceInMRx