Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy driver DispatchRead és DispatchWrite rutinjai az IRP_MJ_READ és IRP_MJ_WRITE I/O-függvénykódokkal rendelkező IRP-ket kezelik. Alternatív megoldásként egy kombinált DispatchReadWrite rutin mindkét I/O-függvénykódhoz képes kezelni az IRP-ket.
Az eszköz minden olyan illesztőprogramjának, amelyről adatokat lehet továbbítani a rendszerbe, DispatchRead rutinnal kell rendelkeznie. Az eszköz minden olyan illesztőprogramjának, amelybe adatokat lehet továbbítani a rendszerből, DispatchWrite rutinnal kell rendelkeznie. Minden olyan illesztőprogram, amely mindkét irányban adatokat továbbít, kombinált DispatchReadWrite rutinnal rendelkezhet.
Az alacsonyabb szintű illesztőprogramok aszinkron módon kezelik a IRP_MJ_READ és IRP_MJ_WRITE kéréseket. Ezért a Legmagasabb szintű illesztőprogramok DispatchRead és/vagy DispatchWrite rutinjainak tovább kell adniuk ezeket a kéréseket további feldolgozás céljából, feltéve, hogy a kérés érvényes paraméterekkel rendelkezik az IRP illesztőprogram I/O-veremhelyén.
Az, hogy egy illesztőprogram beállítja-e az eszközobjektumait a pufferelt vagy a közvetlen I/O-hoz, hatással van-e az átviteli kérelmek kezelésére. Különösen előfordulhat, hogy egy közvetlen I/O-t DMA-műveletek végrehajtására használó illesztőprogramnak kisebb átviteli műveletek sorozatára kell felosztania a nagy átviteli kérelmeket egy IRP_MJ_READ vagy IRP_MJ_WRITE kérés kielégítése érdekében. További információ: Bemeneti/kimeneti technikák.
Az alábbi alszakaszok a DispatchReadWrite rutinjainak tervezési és megvalósítási szempontjait ismertetik a pufferelt I/O-t és közvetlen I/O-t használó legalacsonyabb szintű eszközillesztők, valamint a föléjük rétegzett magasabb szintű illesztőprogramok esetében:
DispatchReadWrite pufferelt I/O használatával
DispatchReadWrite közvetlen I/O használatával