Función WdmlibIoGetAffinityInterrupt (iointex.h)
La función WdmlibIoGetAffinityInterrupt obtiene la afinidad de grupo de un objeto de interrupción.
NTSTATUS WdmlibIoGetAffinityInterrupt(
[in] PKINTERRUPT InterruptObject,
[out] PGROUP_AFFINITY GroupAffinity
);
[in] InterruptObject
Puntero a un objeto de interrupción. Este parámetro apunta a una estructura de KINTERRUPT que representa un registro por parte de un controlador para recibir interrupciones del dispositivo. La estructura es opaca. El autor de la llamada obtuvo este valor de puntero en una llamada anterior a la rutina de WdmlibIoConnectInterruptEx o IoConnectInterrupt.
[out] GroupAffinity
Puntero a un búfer asignado por el autor de la llamada en el que la rutina escribe una estructura de GROUP_AFFINITY que especifica la afinidad de grupo del objeto de interrupción al que interruptObject apunta. Este búfer debe ser lo suficientemente grande como para contener la estructura.
WdmlibIoGetAffinityInterrupt devuelve STATUS_SUCCESS si la llamada se realiza correctamente. Entre los valores devueltos de error posibles se incluyen los siguientes:
Código devuelto | Descripción |
---|---|
|
El parámetro InterruptObject no apunta a un objeto de interrupción válido. |
Un controlador en modo kernel llama a esta rutina para obtener el conjunto de procesadores lógicos en los que la rutina de servicio de interrupción registrada del controlador (ISR) puede recibir interrupciones del dispositivo. Este conjunto de procesadores se describe mediante una estructura de GROUP_AFFINITY, que especifica un número de grupo y una máscara de afinidad. Todos los procesadores asignados a un registro de ISR determinado deben pertenecer al mismo grupo.
El controlador registró el ISR en una llamada anterior a la rutina WdmlibIoConnectInterrupt Ex o IoConnectInterrupt.
En Windows 7, WdmlibIoConnectInterruptEx y IoConnectInterrupt asignar interrupciones de dispositivo solo a procesadores lógicos del grupo 0. Esto es de forma predeterminada. Un controlador puede especificar una afinidad de interrupción diferente para su dispositivo en un archivo INF o en su respuesta a una solicitud de IRP_MN_FILTER_RESOURCE_REQUIREMENTS. Para obtener más información sobre cómo cambiar la afinidad de interrupción, consulte las notas del producto sistemas auxiliares que tienen más de 64 procesadores notas del producto en el sitio web de WHDC.
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows 7 y versiones posteriores de Windows. |
de la plataforma de destino de | Windows |
encabezado de | iointex.h (incluya Iointex.h, Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | Cualquier nivel |