Функция KeSetTargetProcessorDpc (ntddk.h)
Подпрограмма KeSetTargetProcessorDpc указывает процессор, на котором будет выполняться подпрограмма DPC.
Синтаксис
void KeSetTargetProcessorDpc(
[in, out] PRKDPC Dpc,
[in] CCHAR Number
);
Параметры
[in, out] Dpc
Указатель на объект DPC вызывающего объекта, который keInitializeDpc уже инициализировал.
[in] Number
Указывает отсчитываемый от нуля номер целевого процессора, на котором должен быть поставлен в очередь и выполнен DPC.
Возвращаемое значение
None
Remarks
В многопроцессорных системах каждый процессор имеет собственную очередь DPC. Подпрограмма KeSetTargetProcessorDpc определяет очередь процессора, которую система должна использовать, когда драйвер вызывает KeInsertQueueDpc или IoRequestDpc для постановки DPC в очередь для последующего запуска.
Начиная с Windows Vista, вы также можете использовать KeSetTargetProcessorDpc , чтобы указать целевой процессор для потоковых DPC.
Вызов KeSetTargetProcessorDpc , который происходит после постановки объекта DPC в очередь, не влияет на выбор процессора для выполнения подпрограммы DPC. Чтобы управлять выбором целевого процессора, вызов KeSetTargetProcessorDpc должен произойти до вызова KeInsertQueueDpc или IoRequestDpc , который помещает объект DPC в очередь.
Дополнительные сведения об очередях DPC см. в разделе Организация очередей DPC.
Windows 7 и более поздние версии Windows поддерживают группы процессоров. Драйверы, предназначенные для обработки сведений о группах процессоров, должны использовать подпрограмму KeSetTargetProcessorDpcEx , которая задает группу процессоров, а не KeSetTargetProcessorDpc, которая не используется. Однако реализация KeSetTargetProcessorDpc в Windows 7 и более поздних версиях Windows обеспечивает совместимость с драйверами, написанными для более ранних версий Windows, которые не поддерживают группы процессоров. В этой реализации, если число меньше числа активных логических процессоров в группе 0, KeSetTargetProcessorDpc задает целевой объект DPC процессору в группе 0, заданной числом. В противном случае целевой объект DPC не меняется.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Универсальное |
Верхняя часть | ntddk.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |