RxCreateSrvOpen function

RxCreateSrvOpen allocates, initializes, and inserts a new SRV_OPEN structure into the in-memory data structures used by RDBSS. If a new structure has to be allocated, it has space for an FOBX structure.

Syntax


PSRV_OPEN RxCreateSrvOpen(
  _In_    PV_NET_ROOT VNetRoot,
  _Inout_ PFCB        Fcb
);

Parameters

VNetRoot [in]

A pointer to the V_NET_ROOT structure.

Fcb [in, out]

A pointer to the associated FCB structure.

Return value

RxCreateSrvOpen returns a pointer to a newly created SRV_OPEN data structure on success or a NULL pointer on failure.

Remarks

The RxCreateSrvOpen routine is not normally called by network mini-redirector drivers directly. RDBSS calls this routine internally when an I/O request packet is received for IRP_MJ_CREATE and a SRV_OPEN needs to be created. This IRP is normally received by RDBSS in response to a user-mode application requesting a file create operation on a network share. It is also possible for another kernel driver to issue such an IRP.

Before calling RxCreateSrvOpen, a lock on the associated FCB structure must be acquired in exclusive mode.

RxCreateSrvOpen will try and use the SRV_CALL allocated as part of the associated FCB structure if it is available. If the SRV_CALL allocated with the FCB is not available, then RxCreateSrvOpen will allocate a new SRV_CALL structure.

If the associated FCB is a paging file, RxCreateSrvOpen allocates non-paged pool memory when creating the new SRV_OPEN data structure. If the associated FCB is a not a paging file, RxCreateSrvOpen allocates paged pool memory when creating the new SRV_OPEN data structure.

Windows does not currently allow having a paging file on a remote machine.

Requirements

Target platform

Desktop

Header

Fcb.h (include Mrxfcb.h or Fcb.h)

IRQL

<= APC_LEVEL

See also

The FCB Structure
RxCreateNetFcb
RxCreateNetFobx
RxCreateNetRoot
RxCreateSrvCall
RxCreateVNetRoot
RxDereference
RxFinalizeConnection
RxFinalizeNetFcb
RxFinalizeNetFobx
RxFinalizeNetRoot
RxFinalizeSrvCall
RxFinalizeSrvOpen
RxFinalizeVNetRoot
RxFinishFcbInitialization
RxForceFinalizeAllVNetRoots
RxReference
RxSetSrvCallDomainName
RxpDereferenceNetFcb
RxpReferenceNetFcb
The SRV_OPEN Structure
The V_NET_ROOT Structure

 

 

Send comments about this topic to Microsoft

Show: