RxFinishFcbInitialization function

RxFinishFcbInitialization is used to finish initializing an FCB after the successful completion of a create operation by the network mini-redirector.

Syntax


VOID RxFinishFcbInitialization(
  _Inout_  PMRX_FCB         MrxFcb,
  _In_     RX_FILE_TYPE     RdbssStorageType,
  _In_opt_ PFCB_INIT_PACKET InitPacket
);

Parameters

MrxFcb [in, out]

A pointer to the MRX_FCB structure being initialized.

RdbssStorageType [in]

The value indicating the storage type of entity that the FCB refers to. Possible options for this parameter include the following:

ValueMeaning
RDBSS_NTC_MAILSLOT

A mail slot.

RDBSS_NTC_SPOOLFILE

A printer spool file.

RDBSS_NTC_STORAGE_TYPE_DIRECTORY

A directory.

RDBSS_NTC_STORAGE_TYPE_UNKNOWN

The storage type is unknown.

RDBSS_NTC_STORAGE_TYPE_FILE

A file.

 

InitPacket [in, optional]

Pointer to extra data that is required for initialization depending on the storage type of the FCB being initialized. This parameter may be a NULL pointer if no extra data is provided.

Return value

None

Remarks

When called as a result of an IRP_MJ_CREATE, RxCreateNetFCB is called first to create the FCB. If the Type member of the NET_ROOT to be created is not a NET_ROOT_MAILSLOT, then RxFinishFcbInitialization is called to finish the initialization of the FCB structure.

If the FcbState member of the MRX_FCB structure pointed to by MrxFcb does not have the FCB_STATE_TIME_AND_SIZE_ALREADY_SET on, then the following members of the FCB will be updated from the InitPacket parameter if InitPacket is non NULL: Attributes, NumberOfLinks, CreationTime, LastAccessTime, LastWriteTime, LastChangeTime, ActualAllocationLength, Header.AllocationSize, Header.FileSize, and Header.ValidDataLength. The FCB_STATE_TIME_AND_SIZE_ALREADY_SET option is then set on in the FcbState member of the FCB structure.

If the storage type is an RDBSS_NTC_MAILSLOT and the FcbState member of the FCB does have the FCB_STATE_TIME_AND_SIZE_ALREADY_SET option set on, then the following members of the FCB structure for the mail slot will be initialized to 0: Attributes, NumberOfLinks, CreationTime.QuadPart, LastAccessTime.QuadPart, LastWriteTime.QuadPart, LastChangeTime.QuadPart, ActualAllocationLength, Header.AllocationSize.QuadPart, Header.FileSize.QuadPart, and Header.ValidDataLength.QuadPart

Requirements

Target platform

Desktop

Header

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

IRQL

<= APC_LEVEL

See also

RxCreateNetFCB
RxCreateNetFobx
RxCreateNetRoot
RxCreateSrvCall
RxCreateSrvOpen
RxCreateVNetRoot
RxDereference
RxFinalizeConnection
RxFinalizeNetFcb
RxFinalizeNetFobx
RxFinalizeNetRoot
RxFinalizeSrvCall
RxFinalizeSrvOpen
RxFinalizeVNetRoot
RxForceFinalizeAllVNetRoots
RxReference
RxSetSrvCallDomainName
RxpDereferenceNetFcb
RxpReferenceNetFcb

 

 

Send comments about this topic to Microsoft

Show: