Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

RxIndicateChangeOfBufferingStateForSrvOpen function

RxIndicateChangeOfBufferingStateForSrvOpen is called to register a change buffering state request (an oplock break indication, for example) for later processing. If the necessary preconditions are satisfied, the oplock is processed further.

Syntax


VOID RxIndicateChangeOfBufferingStateForSrvOpen(
   PMRX_SRV_CALL SrvCall,
   PMRX_SRV_OPEN SrvOpen,
   PVOID         SrvOpenKey,
   PVOID         MRxContext
);

Parameters

SrvCall

A pointer to the SRV_CALL structure.

SrvOpen

A pointer to the SRV_OPEN structure.

SrvOpenKey

A pointer to the key for the SRV_OPEN key structure.

MRxContext

A pointer to the context to be passed back to the network mini-redirector during callbacks for processing the request.

Return value

None

Remarks

This routine registers the change buffering state request by either inserting it in the registration list (DPC Level processing ) or the appropriate dispatcher/handler list.

This is an instance where in the buffering state change indications from the server use the key generated by the client (the SRV_OPEN address in itself is the best key that can be used). This implies that no further lookup is required.

However if this routine is called at DPC level, the indication is processed as if the lookup needs to be done.

If the resource for the FCB has already been acquired by this thread, the buffering state change indication is processed immediately without further delay. RxIndicateChangeOfBufferingStateForSrvOpen calls RxChangeBufferingState immediately in this case.

The internal routines called by this routine can fail because of a lack of available memory (unable to allocate non-paged pool memory, for example), but since this is a VOID routine no error is returned when this condition occurs.

If a buffering state request can be processed immediately instead of being queued for processing later, then RxChangeBufferingState can be called.

Requirements

Target platform

Desktop

Header

Rxprocs.h (include Rxprocs.h, Struchdr.h, or Fcb.h)

IRQL

<= APC_LEVEL

See also

RxChangeBufferingState
RxIndicateChangeOfBufferingState
RX_CONTEXT

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft