IRP-Based opérations d’E/S qui obéissent aux indicateurs d’objet d’appareil
La méthode de mise en mémoire tampon pour les opérations d’E/S basées sur IRP suivantes est déterminée par la valeur du membre Flags de la structure DEVICE_OBJECT pour le volume du système de fichiers :
IRP_MJ_DIRECTORY_CONTROL
IRP_MJ_QUERY_EA
IRP_MJ_QUERY_QUOTA
IRP_MJ_READ
IRP_MJ_SET_EA
IRP_MJ_SET_QUOTA
IRP_MJ_WRITE
Les indicateurs DO_BUFFERED_IO et DO_DIRECT_IO dans le membre Flags sont utilisés comme suit :
Si l’indicateur DO_BUFFERED_IO est défini, l’opération utilise des E/S mises en mémoire tampon.
Si l’indicateur DO_DIRECT_IO est défini et que l’indicateur DO_BUFFERED_IO n’est pas défini, l’opération utilise des E/S directes.
Si aucun indicateur n’est défini, l’opération n’utilise ni e/s en mémoire tampon ni E/S directes.
Pour plus d’informations sur les indicateurs d’objet d’appareil, consultez DEVICE_OBJECT et Initialisation d’un objet d’appareil.
Notez que IRP_MJ_READ et IRP_MJ_WRITE peuvent être basées sur IRP ou des opérations d’E/S rapides. Lorsqu’elles sont basées sur IRP, la méthode de mise en mémoire tampon est déterminée par les indicateurs d’objet d’appareil, comme décrit ci-dessus. Lorsque ces opérations sont rapides d’E/S, elles n’utilisent toujours ni mise en mémoire tampon ni E/S directes. Pour plus d’informations sur les opérations d’E/S qui peuvent être basées sur IRP ou des opérations d’E/S rapides, consultez Opérations qui peuvent être IRP-Based ou E/S rapides.