Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa routine è riservata per l'uso da parte di file system e driver di filtro del file system. La routine IoMakeAssociatedIrp alloca e inizializza un IRP da associare a un IRP master inviato a un driver di livello più alto, consentendo al chiamante di suddividere la richiesta originale e inviare i runtime di integrazione 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 al StackSize dell'oggetto dispositivo del driver inferiore successivo, ma l'IRP associato può avere un percorso dello stack aggiuntivo per il chiamante.
Valore restituito
IoMakeAssociatedIrp restituisce un puntatore all'IRP associato o restituisce un puntatore NULL se non è possibile allocare un IRP.
Osservazioni
Solo un driver di livello più alto può chiamare questa routine.
Il gestore di I/O completa automaticamente l'IRP master quando i driver inferiori hanno completato tutti i runtime di integrazione associati, purché il chiamante non abbia impostato il routine IoCompletion in un IRP associato e restituito STATUS_MORE_PROCESSING_REQUIRED dalla relativa routine IoCompletion. In queste circostanze, il chiamante deve completare in modo esplicito l'IRP master quando tale driver ha determinato che tutti i runtime di integrazione associati sono stati completati.
Solo l'IRP master è associato a un thread; i runtime di integrazione associati non sono. Per questo motivo, il gestore di I/O non può chiamare Routine annulla per i runtime di integrazione associati quando un thread viene chiuso. Quando il thread di IRP master viene chiuso, il gestore di I/O chiama la routine Annulla di IRP master. La routine Cancel è responsabile del rilevamento di tutti i runtime di integrazione associati e della chiamata di IoCancelIrp per annullarli.
Fabbisogno
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 |