RxCreateNetFcb function (fcb.h)

RxCreateNetFCB allocates, initializes, and inserts a new FCB structure into the in-memory data structures for a V_NET_ROOT that this FCB is being opened on. The structure allocated has space for a SRV_OPEN and an FOBX structure.

Syntax

PFCB RxCreateNetFcb(
  [in] IN PRX_CONTEXT     RxContext,
  [in] IN PIRP            Irp,
  [in] IN PV_NET_ROOT     VNetRoot,
  [in] IN PUNICODE_STRING Name
);

Parameters

[in] RxContext

A pointer to the RX_CONTEXT structure describing a create operation.

[in] Irp

A pointer to the IRP encapsulated by this RX_CONTEXT structure.

[in] VNetRoot

A pointer to the V_NET_ROOT structure that this FCB is being opened on.

[in] Name

The name of the FCB. The V_NET_ROOT may contain a name prefix that is to be prepended here.

Return value

RxCreateNetFCB returns a pointer to a newly allocated FCB data structure on success or a NULL pointer on failure.

Remarks

The RxCreateNetFCB 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 an FCB structure 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.

If the FCB to be created is a paging file, RxCreateNetFCB allocates non-paged pool memory when creating the new FCB data structure and sets the following flag on in the FcbState member of the FCB:

If the FCB to be created is a not a paging file, RxCreateNetFCB allocates paged pool memory when creating the new FCB data structure.

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

If the Create.Flags member in the RX_CONTEXT has the RX_CONTEXT_CREATE_FLAG_ADDEDBACKSLASH flag on, the FcbState member of the FCB has the FCB_STATE_ADDEDBACKSLASH flag set on.

Requirements

Requirement Value
Target Platform Desktop
Header fcb.h (include Rxcontx.h, Mrxfcb.h, Fcb.h)
IRQL <= APC_LEVEL

See also

RX_CONTEXT

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

The FCB Structure

The V_NET_ROOT Structure