KsWriteFile, fonction (ks.h)
La fonction KsWriteFile effectue une écriture sur l’objet de fichier spécifié. Il est supposé que l’appelant sérialise l’accès au fichier pour les opérations sur un objet de fichier FO_SYNCHRONOUS_IO. La fonction tente d’utiliser FastIoDispatch si possible, ou génère une demande d’écriture sur l’objet d’appareil. Toutes les statistiques pertinentes sont mises à jour.
Syntaxe
KSDDKAPI NTSTATUS KsWriteFile(
[in] PFILE_OBJECT FileObject,
[in, optional] PKEVENT Event,
[in, optional] PVOID PortContext,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PVOID Buffer,
[in] ULONG Length,
[in, optional] ULONG Key,
[in] KPROCESSOR_MODE RequestorMode
);
Paramètres
[in] FileObject
Spécifie l’objet de fichier sur lequel effectuer la lecture.
[in, optional] Event
Contient éventuellement l’événement à utiliser dans l’écriture. Si aucun événement n’est passé, l’appel est supposé se trouver sur un objet de fichier synchrone ou l’appelant attend l’événement de l’objet file. Si l’appel n’est pas sur un objet de fichier synchrone, il peut être effectué de manière asynchrone. Si le fichier a été ouvert pour les E/S synchrones, cette variable doit avoir la valeur NULL. Si cette variable est utilisée, il doit s’agir d’un événement alloué par le gestionnaire d’objets.
[in, optional] PortContext
Contient éventuellement des informations de contexte pour un port d’achèvement.
[out] IoStatusBlock
Indique l’emplacement dans lequel retourner les informations status. Il s’agit toujours d’une adresse valide, quel que soit le mode du demandeur.
[in] Buffer
Spécifie la mémoire tampon à partir de laquelle écrire les données. Si la mémoire tampon doit être sondée et verrouillée, un gestionnaire d’exceptions est utilisé, avec RequesterMode.
[in] Length
Spécifie la taille de la mémoire tampon passée.
[in, optional] Key
Contient éventuellement une clé, ou zéro si aucune.
[in] RequestorMode
Indique le mode processeur à placer dans l’IRP de lecture si l’un d’eux doit être généré. En outre, il est utilisé si une mémoire tampon doit être sondée et verrouillée. Cette variable détermine également si un appel d’E/S rapide peut être effectué. Si le mode demandeur n’est pas KernelMode, mais que le mode précédent l’était, les E/S rapides ne peuvent pas être utilisées.
Valeur retournée
La fonction KsWriteFile retourne STATUS_SUCCESS si elle réussit, STATUS_PENDING si l’action est en attente ou renvoie une erreur de lecture en cas d’échec.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | ks.h (inclure Ks.h) |
Bibliothèque | Ks.lib |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour