IRP_MJ_INTERNAL_DEVICE_CONTROL

Em geral, qualquer substituição para um driver existente que dá suporte a solicitações internas de controle de dispositivo deve lidar com essa solicitação em uma rotina DispatchInternalDeviceControl . Esse driver deve dar suporte a pelo menos o 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 oferecer suporte a drivers de classe paralela existentes. Observe que determinados drivers de sistema que manipulam essa solicitação não podem ser substituídos, em particular, os drivers de porta de vídeo e SCSI fornecidos pelo sistema.

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 de 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 de dispositivo ou driver, solicitando suporte do próximo driver mais baixo.

A operação solicitada é específica ao dispositivo ou ao 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. Consulte também solicitações de e/s de dispositivo Type-Specific.

Requisitos

Cabeçalho

WDM. h (incluindo WDM. h, Ntddk. h ou Ntifs. h)

Confira também

DispatchInternalDeviceControl

IoAllocateIrp

IoBuildDeviceIoControlRequest