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 a rotina WdmlibIoConnectInterruptEx ou IoConnectInterrupt .
[out] GroupAffinity
Um ponteiro para um buffer alocado pelo chamador no qual a rotina grava uma estrutura GROUP_AFFINITY que especifica a afinidade de grupo do objeto de interrupção para o qual InterruptObject aponta. Esse buffer deve ser grande o suficiente para conter a estrutura.
Retornar valor
WdmlibIoGetAffinityInterrupt retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os possíveis valores retornados por erro incluem o seguinte:
Código de retorno | Descrição |
---|---|
|
O parâmetro InterruptObject não aponta para um objeto de interrupção válido. |
Comentários
Um driver de 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 do dispositivo. Esse conjunto de processadores é descrito por uma estrutura 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 a rotina WdmlibIoConnectInterruptEx ou IoConnectInterrupt .
No Windows 7, WdmlibIoConnectInterruptEx e IoConnectInterrupt atribuem interrupções de dispositivo somente a processadores lógicos no grupo 0. Isso ocorre 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 white paper Sistemas de suporte com mais de 64 processadores no site do WHDC.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows 7 e versões posteriores do Windows. |
Plataforma de Destino | Windows |
Cabeçalho | iointex.h (incluem Iointex.h, Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |