KeSetTargetProcessorDpc 함수(wdm.h)

KeSetTargetProcessorDpc 루틴은 DPC 루틴이 실행될 프로세서를 지정합니다.

구문

void KeSetTargetProcessorDpc(
  [in, out] PRKDPC Dpc,
  [in]      CCHAR  Number
);

매개 변수

[in, out] Dpc

KeInitializeDpc가 이미 초기화한 호출자의 DPC 개체에 대한 포인터입니다.

[in] Number

DPC를 큐에 대기하고 실행해야 하는 대상 프로세서의 0부터 시작하는 수를 지정합니다.

반환 값

없음

설명

다중 프로세서 시스템에서 각 프로세서에는 자체 DPC 큐가 있습니다. KeSetTargetProcessorDpc 루틴은 드라이버가 KeInsertQueueDpc 또는 IoRequestDpc를 호출하여 나중에 실행할 DPC를 큐에 대기할 때 시스템에서 사용해야 하는 프로세서 큐를 지정합니다.

Windows Vista부터 KeSetTargetProcessorDpc 를 사용하여 스레드된 DPC의 대상 프로세서를 지정할 수도 있습니다.

DPC 개체가 큐에 대기된 후에 발생하는 KeSetTargetProcessorDpcEx 에 대한 호출은 DPC 루틴을 실행할 프로세서의 선택에 영향을 주지 않습니다. 대상 프로세서의 선택을 제어하려면 DPC 개체를 큐에 대기하는 KeInsertQueueDpc 또는 IoRequestDpc를 호출하기 전에 KeSetTargetProcessorDpc 호출이 발생해야 합니다.

DPC 큐에 대한 자세한 내용은 DPC 큐 구성을 참조하세요.

Windows 7 이상 버전의 Windows는 프로세서 그룹을 지원합니다. 프로세서 그룹에 대한 정보를 처리하도록 설계된 드라이버는 그렇지 않은 KeSetTargetProcessorDpc 대신 프로세서 그룹을 지정하는 KeSetTargetProcessorDpc 루틴을 사용해야 합니다. 그러나 Windows 7 이상 버전의 Windows에서 KeSetTargetProcessorDpc 구현은 프로세서 그룹을 지원하지 않는 이전 버전의 Windows용으로 작성된 드라이버에 대한 호환성을 제공합니다. 이 구현에서 Number 가 그룹 0의 활성 논리 프로세서 수보다 작은 경우 KeSetTargetProcessorDpc 는 DPC의 대상을 Number로 지정된 그룹 0의 프로세서로 설정합니다. 그렇지 않으면 DPC 대상이 변경되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준

추가 정보

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx