Share via


Funzione IoMakeAssociatedIrp (ntddk.h)

Questa routine è riservata all'uso da parte dei file system e dei driver di filtro del file system. La routine IoMakeAssociatedIrp alloca e inizializza un'IRP da associare a un driver master IRP inviato a un driver di livello più alto, consentendo al chiamante di suddividere la richiesta originale e inviare irP associati a driver di livello inferiore.

Sintassi

PIRP IoMakeAssociatedIrp(
  [in] PIRP  Irp,
  [in] CCHAR StackSize
);

Parametri

[in] Irp

Puntatore all'IRP master immesso nella routine Dispatch di un driver di livello più alto.

[in] StackSize

Specifica il numero di posizioni dello stack da allocare per l'IRP associato. Il valore deve essere almeno uguale a StackSize dell'oggetto dispositivo del driver inferiore successivo, ma l'IRP associato può avere una posizione di stack aggiuntiva per il chiamante.

Valore restituito

IoMakeAssociatedIrp restituisce un puntatore all'IRP associato o restituisce un puntatore NULL se non è possibile allocare un'istanza di IRP.

Commenti

Solo un driver di livello più alto può chiamare questa routine.

Il gestore I/O completa automaticamente l'IRP master quando i driver inferiori hanno completato tutti gli IP associati, purché il chiamante non abbia impostato la routine IoCompletion in un'IRP associata e restituito STATUS_MORE_PROCESSING_REQUIRED dalla routine IoCompletion . In queste circostanze, il chiamante deve completare in modo esplicito l'IRP master quando tale driver ha determinato che tutti gli IRP associati sono stati completati.

Solo l'IRP master è associato a un thread; i provider di servizi di integrazione associati non sono. Per questo motivo, il gestore di I/O non può chiamare le routine Annulla per gli INDIRIZZI DI rete associati quando un thread viene chiuso. Quando il thread di IRP master viene chiuso, il gestore di I/O chiama la routine Annulla dell'IRP master. La routine Cancel è responsabile del rilevamento di tutti gli IP associati e della chiamata di IoCancelIrp per annullarli.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

IRP

IoAllocateIrp

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoCallDriver

IoSetCompletionRoutine