FLT_PARAMETERS pour IRP_MJ_SET_INFORMATION union
Composant Union utilisé lorsque le champ MajorFunction de la structure FLT_IO_PARAMETER_BLOCK de l’opération est IRP_MJ_SET_INFORMATION.
Syntaxe
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
PFILE_OBJECT ParentOfTarget;
union {
struct {
BOOLEAN ReplaceIfExists;
BOOLEAN AdvanceOnly;
};
ULONG ClusterCount;
HANDLE DeleteHandle;
};
PVOID InfoBuffer;
} SetFileInformation;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
Membres
SetFileInformation : structure contenant les membres suivants.
Longueur : longueur, en octets, de la mémoire tampon dans InfoBuffer.
FileInformationClass : type d’informations à définir pour le fichier. Celui-ci peut avoir l'une des valeurs suivantes :
Value Signification FileAllocationInformation Définissez FILE_ALLOCATION_INFORMATION pour le fichier. FileBasicInformation Définissez FILE_BASIC_INFORMATION pour le fichier. FileDispositionInformation Définissez FILE_DISPOSITION_INFORMATION pour le fichier. FileEndOfFileInformation Définissez FILE_END_OF_FILE_INFORMATION pour le fichier. FileLinkInformation Définissez FILE_LINK_INFORMATION pour le fichier. FilePositionInformation Définissez FILE_POSITION_INFORMATION pour le fichier. FileRenameInformation Définissez FILE_RENAME_INFORMATION pour le fichier. FileValidDataLengthInformation Définissez FILE_VALID_DATA_LENGTH_INFORMATION pour le fichier. ParentOfTarget : pour les opérations de renommage ou de liaison. Si InfoBuffer-FileName> contient un nom de fichier complet ou si InfoBuffer-RootDirectory> n’a pas la valeur NULL, ce membre est un pointeur d’objet de fichier pour le répertoire parent du fichier qui est la cible de l’opération. Sinon, elle est NULL.
( struct sans nom )
Structure contenant les membres suivants.ReplaceIfExists : pour les opérations de renommage ou de liaison. Définissez la valeur TRUE pour spécifier qu’un fichier qui existe déjà avec le même nom doit être remplacé par le fichier donné. Définissez sur FALSE si l’opération de renommage ou de liaison doit échouer si un fichier portant le nom donné existe déjà.
AdvanceOnly : indicateur pour les opérations de fin de fichier. Cela détermine l’utilisation du membre EndOfFileFILE_END_OF_FILE_INFORMATION structure quand FileInformationClass == FileEndOfFileInformation. Si la valeur est TRUE, une nouvelle longueur de données valide pour le fichier est définie à partir de EndOfFile uniquement si elle augmente la longueur des données valides actuelle. Si la valeur est FALSE, une nouvelle taille de fichier est définie à partir de EndOfFile.
ClusterCount : réservé à l’utilisation du système. Ne pas utiliser.
DeleteHandle : réservé à l’utilisation du système. Ne pas utiliser.
InfoBuffer : pointeur vers une mémoire tampon d’entrée qui contient les informations de fichier à définir.
Remarques
La structure FLT_PARAMETERS pour les opérations IRP_MJ_SET_INFORMATION contient les paramètres d’une opération set-information représentée par une structure de données de rappel (FLT_CALLBACK_DATA). Il est contenu dans une structure FLT_IO_PARAMETER_BLOCK.
IRP_MJ_SET_INFORMATION est une opération basée sur IRP.
Le membre AdvanceOnly est défini sur TRUE par le gestionnaire de cache pour informer le système de fichiers d’avancer la longueur des données valides actuelle sur le disque jusqu’à la nouvelle longueur de données valide dans EndOfFile. Si AdvanceOnly a la valeur FALSE, une nouvelle taille de fichier, dans le membre EndOfFile , est définie, qui peut être supérieure ou inférieure à la taille de fichier actuelle.
Configuration requise
Type d’exigence | Condition requise |
---|---|
En-tête | Fltkernel.h (inclure Fltkernel.h) |