Funzione WdmlibIoGetAffinityInterrupt (iointex.h)
La funzione WdmlibIoGetAffinityInterrupt ottiene l'affinità di gruppo di un oggetto interrupt.
Sintassi
NTSTATUS WdmlibIoGetAffinityInterrupt(
[in] PKINTERRUPT InterruptObject,
[out] PGROUP_AFFINITY GroupAffinity
);
Parametri
[in] InterruptObject
Puntatore a un oggetto interrupt. Questo parametro punta a una struttura KINTERRUPT che rappresenta una registrazione da parte di un driver per ricevere interrupt del dispositivo. La struttura è opaca. Il chiamante ha ottenuto questo valore del puntatore in una chiamata precedente alla routine WdmlibIoConnectInterruptEx o IoConnectInterrupt .
[out] GroupAffinity
Puntatore a un buffer allocato dal chiamante in cui la routine scrive una struttura GROUP_AFFINITY che specifica l'affinità di gruppo dell'oggetto interrupt a cui punta InterruptObject . Questo buffer deve essere sufficientemente grande da contenere la struttura.
Valore restituito
WdmlibIoGetAffinityInterrupt restituisce STATUS_SUCCESS se la chiamata ha esito positivo. I valori restituiti di errore possibili includono quanto segue:
Codice restituito | Descrizione |
---|---|
|
Il parametro InterruptObject non punta a un oggetto interrupt valido. |
Commenti
Un driver in modalità kernel chiama questa routine per ottenere il set di processori logici in cui la routine del servizio di interruzione registrata del driver (ISR) può ricevere interruzioni del dispositivo. Questo set di processori viene descritto da una struttura GROUP_AFFINITY , che specifica un numero di gruppo e una maschera di affinità. Tutti i processori assegnati a una particolare registrazione ISR devono appartenere allo stesso gruppo.
Il driver ha registrato l'ISR in una chiamata precedente alla routine WdmlibIoConnectInterruptEx o IoConnectInterrupt .
In Windows 7 WdmlibIoConnectInterruptEx e IoConnectInterrupt assegnano interrupt del dispositivo solo ai processori logici nel gruppo 0. Questo accade per impostazione predefinita. Un driver può specificare un'affinità di interruzione diversa per il dispositivo in un file INF o nella risposta a una richiesta di IRP_MN_FILTER_RESOURCE_REQUIREMENTS . Per altre informazioni su come modificare l'affinità di interruzione, vedere il white paper Support Systems that have More Than 64 Processors (Sistemi di supporto con più di 64 processori ) nel sito Web WHDC.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 7 e versioni successive di Windows. |
Piattaforma di destinazione | Windows |
Intestazione | iointex.h (include Iointex.h, Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualsiasi livello |