Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Each driver-specific I/O stack location (IO_STACK_LOCATION) for every IRP contains a major function code (IRP_MJ_XXX), which tells the driver what operation it or the underlying device driver should carry out to satisfy the I/O request. Varje kernel-mode-drivrutin måste tillhandahålla sändningsrutiner för de viktigaste funktionskoderna som den måste stödja.
The specific operations a driver carries out for a given IRP_MJ_XXX code depend somewhat on the underlying device, particularly for IRP_MJ_DEVICE_CONTROL and IRP_MJ_INTERNAL_DEVICE_CONTROL requests. Begäranden som skickas till en tangentbordsdrivrutin skiljer sig till exempel nödvändigtvis något från dem som skickas till en diskdrivrutin. I/O-chefen definierar dock parametrarna och I/O-stackplatsinnehållet för varje systemdefinierad huvudfunktionskod.
Every higher-level driver must set up the appropriate I/O stack location in IRPs for the next-lower-level driver and call IoCallDriver, either with each input IRP, or with a driver-created IRP (if the higher-level driver holds on to the input IRP). Därför måste varje mellanliggande drivrutin tillhandahålla en sändningsrutin för varje större funktionskod som den underliggande enhetsdrivrutinen hanterar. Annars "bryter en ny mellanliggande drivrutin kedjan" när ett program eller en drivrutin på högre nivå försöker skicka en I/O-begäran till den underliggande enhetsdrivrutinen.
File system drivers and legacy file system filter drivers also handle a required subset of system-defined IRP_MJ_XXX function codes, some with subordinate IRP_MN_XXX function codes. Mer information om hur du hanterar dessa IP-adresser finns i IRP-huvudfunktionskoder för filsystemdrivrutiner och äldre FS-filterdrivrutiner.
Drivrutiner hanterar IP-adresser som har angetts med några eller alla av följande huvudfunktionskoder:
IRP_MJ_INTERNAL_DEVICE_CONTROL
Parametrarna för indata och utdata som beskrivs i det här avsnittet är de funktionsspecifika parametrarna i IRP.
For more information about IRPs, see Handling IRPs.