Megosztás:


Küldési IRQL-nyomkövetés

A rendszer teljesítményének javítása érdekében egyes NDIS-függvények (például a MiniportSendNetBufferLists függvény) tartalmazzák a küldési szint jelzőt, amely az aktuális IRQL-t jelzi. A diszpécserszint-jelző megfelelő használata segíthet elkerülni az IRQL beállítására tett szükségtelen kísérleteket.

Vannak más jelzők is, amelyek más attribútumokat szabályoznak, de a küldési szint jelzőinek nevei a következők:

NDIS_SEND_FLAGS_DISPATCH_LEVEL

NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL

NDIS_RECEIVE_FLAGS_DISPATCH_LEVEL

NDIS_RETURN_FLAGS_DISPATCH_LEVEL

NDIS_RWL_AT_DISPATCH_LEVEL

A hívónak az ismert jelenlegi IRQL-ből kell meghatároznia a küldési szint jelzőbeállítását, nem pedig az IRQL tesztelésével. Ismeri például az IRQL-t, mert az az illesztőprogram kialakításának rögzített jellemzője, vagy az illesztőprogram mentette az aktuális IRQL-t.

Ha az ismert jelenlegi IRQL DISPATCH_LEVEL, a hívónak be kell állítania ezt a jelzőt. Ha az aktuális IRQL ismeretlen, vagy a hívó nem fut "DISPATCH_LEVEL" szinten, a hívónak törölnie kell ezt a jelzőt. Ha a hívó NDIS, a hívott függvénynek tesztelnie kell ezt a jelzőt, hogy elkerülje az IRQL módosítását.

Az illesztőprogramok nem tesztelik az IRQL-t a küldési szint jelzőjének értékének meghatározásához. A tesztelés legyőzné a zászló célját. Ha szükséges, a hívott függvény egyszerűen elvégezheti a tesztelést. Az, hogy az illesztőprogram hogyan határozza meg, hogy a jelölőt érdemes-e beállítani, az az adott illesztőprogram kialakítására marad.