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 |