Fonction RxFinishFcbInitialization (fcb.h)

RxFinishFcbInitialization est utilisé pour terminer l’initialisation d’un fcb après l’achèvement d’une opération de création par le mini-redirecteur réseau.

Syntaxe

void RxFinishFcbInitialization(
  IN OUT PMRX_FCB     Fcb,
  IN RX_FILE_TYPE     FileType,
  IN PFCB_INIT_PACKET InitPacket
);

Paramètres

Fcb

Pointeur vers la structure MRX_FCB en cours d’initialisation.

FileType

Valeur indiquant le type de stockage d’entité auquel le FCB fait référence. Les options possibles pour ce paramètre sont les suivantes :

Valeur Signification
RDBSS_NTC_MAILSLOT Emplacement de messagerie.
RDBSS_NTC_SPOOLFILE Fichier de spouleur d’imprimante.
RDBSS_NTC_STORAGE_TYPE_DIRECTORY Répertoire.
RDBSS_NTC_STORAGE_TYPE_UNKNOWN Le type de stockage est inconnu.
RDBSS_NTC_STORAGE_TYPE_FILE Un fichier.

InitPacket

Pointeur vers des données supplémentaires requises pour l’initialisation en fonction du type de stockage du fcb initialisé. Ce paramètre peut être un pointeur NULL si aucune donnée supplémentaire n’est fournie.

Valeur de retour

None

Remarques

Lorsqu’il est appelé à la suite d’un IRP_MJ_CREATE, RxCreateNetFCB est appelé en premier pour créer le FCB. Si le membre Type du NET_ROOT à créer n’est pas un NET_ROOT_MAILSLOT, RxFinishFcbInitialization est appelé pour terminer l’initialisation de la structure FCB.

Si le membre FcbState de la structure MRX_FCB pointée par MrxFcb n’a pas le FCB_STATE_TIME_AND_SIZE_ALREADY_SET activé, les membres suivants du FCB seront mis à jour à partir du paramètre InitPacket si InitPacket n’a pas la valeur NULL : Attributes, NumberOfLinks, CreationTime, LastAccessTime, LastWriteTime, LastChangeTime, ActualAllocationLength, Header.AllocationSize, Header.FileSize et Header.ValidDataLength. L’option FCB_STATE_TIME_AND_SIZE_ALREADY_SET est ensuite activée dans le membre FcbState de la structure FCB.

Si le type de stockage est un RDBSS_NTC_MAILSLOT et que l’option FCB_STATE_TIME_AND_SIZE_ALREADY_SET est activée pour le membre FcbState, les membres suivants de la structure FCB pour l’emplacement de messagerie sont initialisés à 0 : Attributes, NumberOfLinks, CreationTime.QuadPart, LastAccessTime.QuadPart, LastWriteTime.QuadPart, LastChangeTime. QuadPart, ActualAllocationLength, Header.AllocationSize.QuadPart, Header.FileSize.QuadPart et Header.ValidDataLength.QuadPart

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête fcb.h (inclure Mrxfcb.h, Nodetype.h, Fcb.h)
IRQL <= APC_LEVEL

Voir aussi

RxCreateNetFCB

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb