További hibák az IRP-k kezelésében

Az alábbiakban további hibákat tapasztalnak, amelyeket az illesztőprogramok időnként követnek el az IRP-k kezelése során.

Elveszett vagy kétszer befejezett IRP-k

Ezek a problémák, valamint az olyan I/O-kezelő rutinok, mint az IoStartNextPacket hiányzó hívásai, gyakran a hibakezelési útvonalakon fordulnak elő. Az illesztőprogram-útvonalak gyors áttekintése ilyen problémákat azonosíthat.

Nyilvános IOCTL- és privát IOCTL-útvonalak konvergens létrehozása

Általános szabályként az illesztőprogramoknak külön végrehajtási útvonalakat kell tartalmazniuk a nyilvános és a privát IOCTL-ekhez (vagy FSCTL-ekhez). Az illesztő nem tudja megállapítani, hogy egy IOCTL- vagy FSCTL-kérés kernel vagy felhasználói módban származik-e a vezérlőkód alapján. Következésképpen a nyilvános és a privát kódok ugyanazon végrehajtási útvonalon történő kezelése (vagy minimális ellenőrzés, majd ugyanazon rutinok meghívása) megnyithatja az illesztőprogramot a biztonsági incidensek előtt. Ha egy privát IOCTL vagy FSCTL jogosultsággal rendelkezik, akkor a vezérlőkódokat ismerő hátrányos helyzetű felhasználók hozzáférhetnek hozzá. Ezért ha az illesztőprogram támogatja a privát IOCTL- vagy FSCTL-kéréseket, győződjön meg arról, hogy az ilyen kéréseket külön kezeli a nyilvános IOCTL-ektől vagy FSCTL-ektől, amelyeket szintén támogatnia kell.