Partager via


FltDeviceIoControlFile, fonction (fltkernel.h)

FltDeviceIoControlFile envoie un code de contrôle directement à un pilote de périphérique spécifié, ce qui entraîne l’exécution de l’action spécifiée par le pilote correspondant.

Syntaxe

NTSTATUS FLTAPI FltDeviceIoControlFile(
  [in]            PFLT_INSTANCE Instance,
  [in]            PFILE_OBJECT  FileObject,
  [in]            ULONG         IoControlCode,
  [in, optional]  PVOID         InputBuffer,
  [in]            ULONG         InputBufferLength,
  [out]           PVOID         OutputBuffer,
  [in]            ULONG         OutputBufferLength,
  [out, optional] PULONG        LengthReturned
);

Paramètres

[in] Instance

Pointeur d’instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] FileObject

Pointeur d’objet de fichier pour le fichier ou l’appareil qui est la cible de cette requête. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] IoControlCode

IOCTL_XXX code qui indique l’opération d’E/S de l’appareil à effectuer. La valeur de ce paramètre détermine les formats et les longueurs requises des InputBuffer et OutputBuffer, et détermine quelles sont les paires de paramètres suivantes (InputBuffer et InputBufferLength, ou OutputBuffer et OutputBufferLength).

[in, optional] InputBuffer

Pointeur vers une mémoire tampon d’entrée allouée par l’appelant qui contient des informations spécifiques à l’appareil à donner au pilote cible. Si le paramètre IoControlCode spécifie une opération qui ne nécessite pas de données d’entrée, ce paramètre est facultatif et peut être NULL.

[in] InputBufferLength

Taille, en octets, de la mémoire tampon à InputBuffer. Cette valeur est ignorée si InputBuffer est NULL.

[out] OutputBuffer

Pointeur vers une mémoire tampon de sortie allouée par l’appelant dans laquelle les informations sont retournées par le pilote cible. Si le paramètre IoControlCode spécifie une opération qui ne nécessite pas de données de sortie, ce paramètre est facultatif et peut être NULL.

[in] OutputBufferLength

Taille, en octets, de la mémoire tampon à OutputBuffer. Cette valeur est ignorée si OutputBuffer est NULL .

[out, optional] LengthReturned

Pointeur vers une variable allouée par l’appelant qui reçoit la taille, en octets, des informations retournées dans la mémoire tampon à OutputBuffer. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

FltDeviceIoControlFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée.

Remarques

Pour plus d’informations sur les codes IOCTL_de XXX définis par le système, consultez la section Remarques de l’entrée de référence pour DeviceIoControl dans la documentation du Kit de développement logiciel (SDK) Microsoft Windows.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
IRQL PASSIVE_LEVEL

Voir aussi

FltFsControlFile