IRP_MJ_INTERNAL_DEVICE_CONTROL
Em geral, qualquer substituição para um driver existente que dê suporte a solicitações de controle de dispositivo internas deve lidar com essa solicitação em uma rotina DispatchInternalDeviceControl . Esse driver deve dar suporte ao mesmo conjunto de códigos de controle de E/S internos que o driver que ele substitui. Caso contrário, os drivers de nível superior existentes podem não funcionar com o novo driver.
Os drivers que substituem determinados drivers de sistema de nível inferior são necessários para lidar com essa solicitação. Por exemplo, uma substituição para o driver de porta paralela do sistema deve continuar a dar suporte a drivers de classe paralela existentes. Observe que determinados drivers de sistema que lidam com essa solicitação não podem ser substituídos, em particular, pelo SCSI fornecido pelo sistema e pelos drivers de porta de vídeo.
Quando enviado
A qualquer momento após a conclusão bem-sucedida de uma solicitação de criação.
Parâmetros de Entrada
O código de controle de E/S está contido em Parameters.DeviceIoControl.IoControlCode no local da pilha de E/S do IRP.
Outros parâmetros de entrada dependem do valor do código de controle de E/S. Para obter mais informações, consulte Descrições de buffer para códigos de controle de E/S.
Parâmetros de saída
Os parâmetros de saída dependem do valor do código de controle de E/S. Para obter mais informações, consulte Descrições de buffer para códigos de controle de E/S.
Operação
Os drivers recebem IRP_MJ_INTERNAL_DEVICE_CONTROL solicitações quando outro driver chama IoBuildDeviceIoControlRequest ou IoAllocateIrp para criar uma solicitação.
Esse código de controle de E/S foi definido para comunicação entre drivers de modo kernel emparelhados e em camadas, como um ou mais drivers de classe em camadas sobre um driver de porta. O driver de nível superior configura IRPs com códigos de controle de E/S específicos do dispositivo ou do driver, solicitando suporte do driver inferior.
A operação solicitada é específica do dispositivo ou do driver.
Para obter informações gerais sobre códigos de controle de E/S para solicitações de IRP_MJ_DEVICE_CONTROL ou IRP_MJ_INTERNAL_DEVICE_CONTROL , consulte Usando códigos de controle de E/S. Confira também Solicitações de E/S de Type-Specific dispositivo.
Requisitos
parâmetro |
Wdm.h (inclua Wdm.h, Ntddk.h ou Ntifs.h) |