Fonction FltDeviceIoControlFile (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 de instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas avoir la valeur 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 avoir la valeur NULL.
[in] IoControlCode
IOCTL_ codeXXX 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 de InputBuffer et OutputBuffer, et détermine laquelle des paires de paramètres suivantes (InputBuffer et InputBufferLength, ou OutputBufferLength) est requise.
[in, optional] InputBuffer
Pointeur vers une mémoire tampon d’entrée allouée à 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 sur InputBuffer. Cette valeur est ignorée si InputBuffer a la valeur NULL.
[out] OutputBuffer
Pointeur vers une mémoire tampon de sortie allouée à l’appelant dans laquelle les informations sont retournées à partir du 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 dans OutputBuffer. Cette valeur est ignorée si OutputBuffer a la valeur 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 dans OutputBuffer. Ce paramètre est facultatif et peut être NULL.
Valeur retournée
FltDeviceIoControlFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée.
Remarques
Pour plus d’informations sur les codes IOCTL_XXX définis par le système, consultez la section Remarques de l’entrée de référence pour DeviceIoControl dans la documentation Microsoft Windows SDK.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure Fltkernel.h) |
Bibliothèque | FltMgr.lib |
IRQL | PASSIVE_LEVEL |