RxCreateSrvCall function (fcb.h)

RxCreateSrvCall builds a SRV_CALL structure and inserts the name into the net name table maintained by RDBSS.

Syntax

PSRV_CALL RxCreateSrvCall(
  IN PRX_CONTEXT       RxContext,
  IN PUNICODE_STRING   Name,
  IN PUNICODE_STRING   InnerNamePrefix,
  IN PRX_CONNECTION_ID RxConnectionId
);

Parameters

RxContext

[in] A pointer to the RX_CONTEXT structure containing the IRP describing a create operation.

Name

[in] A pointer to the name to be inserted in the name table.

InnerNamePrefix

A pointer to an optional inner prefix name to be inserted into the name table with the Name.

RxConnectionId

[in] A pointer to the connection ID to be associated with the name to be inserted in the prefix name table. This parameter can be NULL in which case no connection ID will be associated with the name inserted in the prefix name table.

Return value

RxCreateSrvCall returns a pointer to a newly created SRV_CALL data structure on success or a NULL pointer on failure.

Remarks

The RxCreateSrvCall 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_CALL 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 RxCreateSrvCall, a lock on the name table associated with the device object member of the RxContext parameter must be acquired in exclusive mode.

RxCreateSrvCall initializes the server call parameters passed in through extended attributes as part of the associated RX_CONTEXT structure. Currently this includes initializing the pPrincipalName member of the SRV_CALL which is passed in by the DFS driver.

Requirements

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

See also

RX_CONTEXT

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

The SRV_CALL Structure