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)

Voir aussi

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IRP_MJ_SET_INFORMATION