Dispatch-rutinfunktioner

De funktioner som krävs för en viss sändningsrutin varierar beroende på vilken I/O-funktionskod den hanterar, på den enskilda förarens position i en kedja av drivrutiner och på typen av underliggande fysisk enhet.

De flesta avsändningsrutiner bearbetar inkommande I/O-begärandepaket (IRP:er) enligt följande:

  1. Kontrollera drivrutinens I/O-stackplats i IRP för att fastställa vad du ska göra och kontrollera om parametrarna är giltiga.

    Om en drivrutin måste kontrollera sin I/O-stackplats för att avgöra vad som ska göras och för att kontrollera parametrar beror på den angivna IRP_MJ_XXX, samt om drivrutinen har konfigurerat en separat Dispatch-rutin för varje IRP_MJ_XXX som drivrutinen hanterar.

  2. Uppfyll begäran och slutför IRP om möjligt. Annars kan du vidarebefordra den för vidare bearbetning av drivrutiner på lägre nivå eller av andra rutiner för enhetsdrivrutiner.

    Om en drivrutin måste skicka en IRP för vidare bearbetning beror på parametrarnas giltighet, om någon, samt på IRP_MJ_XXX och på förarens nivå, om någon, i en kedja med skiktade drivrutiner.

Mer information om IP-adresser finns i Hantera IP-adresser.