IRP_MJ_INTERNAL_DEVICE_CONTROL

In generale, qualsiasi sostituzione di un driver esistente che supporta le richieste di controllo del dispositivo interno deve gestire questa richiesta in una routine DispatchInternalDeviceControl . Tale driver deve supportare almeno lo stesso set di codici di controllo I/O interni del driver che sostituisce. In caso contrario, i driver di livello superiore esistenti potrebbero non funzionare con il nuovo driver.

I driver che sostituiscono determinati driver di sistema di livello inferiore sono necessari per gestire questa richiesta. Ad esempio, una sostituzione del driver di porta parallela del sistema deve continuare a supportare i driver di classe paralleli esistenti. Si noti che alcuni driver di sistema che gestiscono questa richiesta non possono essere sostituiti, in particolare, i driver di porta SCSI e video forniti dal sistema.

Data di invio

Ogni volta che il completamento di una richiesta di creazione ha esito positivo.

Parametri di input

Il codice di controllo I/O è contenuto in Parameters.DeviceIoControl.IoControlCode nella posizione dello stack I/O dell'IRP.

Altri parametri di input dipendono dal valore del codice di controllo di I/O. Per altre informazioni, vedere Descrizioni del buffer per i codici di controllo I/O.

Parametri di output

I parametri di output dipendono dal valore del codice di controllo di I/O. Per altre informazioni, vedere Descrizioni del buffer per i codici di controllo I/O.

Operazione

I driver ricevono IRP_MJ_INTERNAL_DEVICE_CONTROL richieste quando un altro driver chiama IoBuildDeviceIoControlRequest o IoAllocateIrp per creare una richiesta.

Questo codice di controllo di I/O è stato definito per la comunicazione tra driver in modalità kernel abbinati e a livelli, ad esempio uno o più driver di classe a livelli su un driver di porta. Il driver di livello superiore configura i provider di integrazione con codici di controllo I/O specifici del dispositivo o driver, richiedendo il supporto dal driver inferiore successivo.

L'operazione richiesta è specifica del dispositivo o del driver.

Per informazioni generali sui codici di controllo I/O per le richieste di IRP_MJ_DEVICE_CONTROL o IRP_MJ_INTERNAL_DEVICE_CONTROL , vedere Uso dei codici di controllo I/O. Vedere anche Device Type-Specific Richieste di I/O.

Requisiti

Intestazione

Wdm.h (include Wdm.h, Ntddk.h o Ntifs.h)

Vedi anche

DispatchInternalDeviceControl

IoAllocateIrp

IoBuildDeviceIoControlRequest