WdmlibIoGetAffinityInterrupt 함수(iointex.h)

WdmlibIoGetAffinityInterrupt 함수는 인터럽트 개체의 그룹 선호도를 가져옵니다.

구문

NTSTATUS WdmlibIoGetAffinityInterrupt(
  [in]  PKINTERRUPT     InterruptObject,
  [out] PGROUP_AFFINITY GroupAffinity
);

매개 변수

[in] InterruptObject

인터럽트 개체에 대한 포인터입니다. 이 매개 변수는 디바이스 인터럽트를 받을 드라이버의 등록을 나타내는 KINTERRUPT 구조를 가리킵니다. 구조체가 불투명합니다. 호출자는 WdmlibIoConnectInterruptEx 또는 IoConnectInterrupt 루틴에 대한 이전 호출에서 이 포인터 값을 얻었습니다.

[out] GroupAffinity

루틴이 InterruptObject가 가리키는 인터럽트 개체의 그룹 선호도를 지정하는 GROUP_AFFINITY 구조를 작성하는 호출자 할당 버퍼에 대한 포인터입니다. 이 버퍼는 구조를 포함할 만큼 커야 합니다.

반환 값

WdmlibIoGetAffinityInterrupt 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값은 다음과 같습니다.

반환 코드 설명
STATUS_INVALID_PARAMETER
InterruptObject 매개 변수는 유효한 인터럽트 개체를 가리키지 않습니다.

설명

커널 모드 드라이버는 이 루틴을 호출하여 드라이버의 등록된 ISR(인터럽트 서비스 루틴)이 디바이스 인터럽트 수신할 수 있는 논리 프로세서 집합을 가져옵니다. 이 프로세서 집합은 그룹 번호와 선호도 마스크를 지정하는 GROUP_AFFINITY 구조로 설명됩니다. 특정 ISR 등록에 할당된 모든 프로세서는 동일한 그룹에 속해야 합니다.

드라이버는 WdmlibIoConnectInterruptEx 또는 IoConnectInterrupt 루틴에 대한 이전 호출에서 ISR을 등록했습니다.

Windows 7에서 WdmlibIoConnectInterruptExIoConnectInterrupt 는 그룹 0의 논리 프로세서에만 디바이스 인터럽트를 할당합니다. 이 기능은 기본적으로 설정됩니다. 드라이버는 INF 파일 또는 IRP_MN_FILTER_RESOURCE_REQUIREMENTS 요청에 대한 응답으로 디바이스에 대해 다른 인터럽트 선호도를 지정할 수 있습니다. 인터럽트 선호도를 변경하는 방법에 대한 자세한 내용은 WHDC 웹 사이트에서 64개 이상의 프로세서가 있는 지원 시스템 백서를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 및 이후 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 Windows
헤더 iointex.h(Iointex.h, Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준

추가 정보

GROUP_AFFINITY

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

IoConnectInterrupt

KINTERRUPT

WdmlibIoConnectInterruptEx