Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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] IN PV_NET_ROOT VNetRoot,
[in, out] IN OUT PFCB Fcb
);
Parameters
[in] VNetRoot
A pointer to the V_NET_ROOT structure.
[in, out] Fcb
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
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | fcb.h (include Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |