Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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. Cada driver de modo kernel deve fornecer rotinas de expedição para os principais códigos de função aos quais ele deve dar suporte.
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. Por exemplo, as solicitações enviadas a um driver de teclado são necessariamente um pouco diferentes daquelas enviadas para um driver de disco. No entanto, o gerenciador de E/S define os parâmetros e o conteúdo do local da pilha de E/S para cada código de função principal definido pelo sistema.
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). Consequentemente, cada driver intermediário deve fornecer uma rotina de expedição para cada código de função principal que o driver de dispositivo subjacente manipula. Caso contrário, um novo driver intermediário "quebrará a cadeia" sempre que um aplicativo ou driver de nível ainda superior tentar enviar uma solicitação de E/S para o driver de dispositivo subjacente.
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. Para obter mais informações sobre como lidar com esses IRPs, consulte códigos de função principais do IRP para drivers do sistema de arquivos e drivers de filtro FS herdados.
Os drivers lidam com IRPs definidos com alguns ou todos os seguintes códigos de função principais:
IRP_MJ_INTERNAL_DEVICE_CONTROL
Os parâmetros de entrada e saída descritos nesta seção são os parâmetros específicos da função no IRP.
For more information about IRPs, see Handling IRPs.