Função WdmlibIoGetAffinityInterrupt (iointex.h)
A função WdmlibIoGetAffinityInterrupt obtém a afinidade de grupo de um objeto de interrupção.
Sintaxe
NTSTATUS WdmlibIoGetAffinityInterrupt(
[in] PKINTERRUPT InterruptObject,
[out] PGROUP_AFFINITY GroupAffinity
);
Parâmetros
[in] InterruptObject
Um ponteiro para um objeto de interrupção. Esse parâmetro aponta para uma estrutura KINTERRUPT que representa um registro de um driver para receber interrupções de dispositivo. A estrutura é opaca. O chamador obteve esse valor de ponteiro em uma chamada anterior para o WdmlibIoConnectInterruptEx ou rotina de IoConnectInterrupt.
[out] GroupAffinity
Um ponteiro para um buffer alocado por chamador no qual a rotina grava uma estrutura de GROUP_AFFINITY que especifica a afinidade de grupo do objeto de interrupção que InterruptObject aponta. Esse buffer deve ser grande o suficiente para conter a estrutura.
Valor de retorno
WdmlibIoGetAffinityInterrupt retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os valores de retorno de erro possíveis incluem o seguinte:
Código de retorno | Descrição |
---|---|
|
O parâmetro InterruptObject não aponta para um objeto de interrupção válido. |
Observações
Um driver no modo kernel chama essa rotina para obter o conjunto de processadores lógicos nos quais a ISR (rotina de serviço de interrupção) registrada do driver pode receber interrupções de dispositivo. Esse conjunto de processadores é descrito por uma estrutura de GROUP_AFFINITY, que especifica um número de grupo e uma máscara de afinidade. Todos os processadores atribuídos a um registro ISR específico devem pertencer ao mesmo grupo.
O driver registrou o ISR em uma chamada anterior para o WdmlibIoConnectInterruptEx ou rotina de IoConnectInterrupt.
No Windows 7, WdmlibIoConnectInterruptEx e IoConnectInterrupt atribuir interrupções de dispositivo apenas a processadores lógicos no grupo 0. Isso é por padrão. Um driver pode especificar uma afinidade de interrupção diferente para seu dispositivo em um arquivo INF ou em sua resposta a uma solicitação de IRP_MN_FILTER_RESOURCE_REQUIREMENTS. Para obter mais informações sobre como alterar a afinidade de interrupção, consulte o sistemas de suporte que têm mais de 64 processadores white paper no site do WHDC.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows 7 e versões posteriores do Windows. |
da Plataforma de Destino | Windows |
cabeçalho | iointex.h (incluem Iointex.h, Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | Qualquer nível |