RxAcquireSharedFcbResourceInMRx function (mrxfcb.h)

RxAcquireSharedFcbResourceInMRx 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 RxAcquireSharedFcbResourceInMRx(
  PMRX_FCB Fcb
);

Parameters

Fcb

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

Return value

RxAcquireSharedFcbResourceInMRx 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.

RxAcquireSharedFcbResourceInMRx 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 RxAcquireSharedFcbResourceInMRx should be released by calling RxReleaseFcbResourceInMRx or RxReleaseFcbResourceForThreadInMRx.

Requirements

Requirement Value
Target Platform Desktop
Header mrxfcb.h (include Mrxfcb.h)
IRQL <= APC_LEVEL

See also

RxAcquireExclusiveFcbResourceInMRx

RxAcquireSharedFcbResourceInMRxEx

RxReleaseFcbResourceForThreadInMRx

RxReleaseFcbResourceInMRx