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 |