Поделиться через


Функция PsQuerySystemAvailableCpus (wdm.h)

Функция PsQuerySystemAvailableCpus запрашивает набор ЦП, доступных для системного процесса.

Синтаксис

NTSTATUS PsQuerySystemAvailableCpus(
  [in, out]      PKAFFINITY_EX Affinity,
  [in, optional] PULONG64      ObservedSequenceNumber,
  [out]          PULONG64      SequenceNumber
);

Параметры

[in, out] Affinity

Указатель на расширенный объект сходства (PKAFFINITY_EX), который получит набор доступных ЦП для системного процесса.

[in, optional] ObservedSequenceNumber

Необязательный указатель на последний номер последовательности, наблюдаемый вызывающим путем предыдущего вызова этой подпрограммы. Если этот номер последовательности соответствует текущему номеру последовательности, подпрограмма возвращает STATUS_NO_WORK_DONE и не записывается в буфер сходства.

[out] SequenceNumber

Указатель на буфер, который получит текущий порядковый номер для доступных ЦП системного процесса.

Возвращаемое значение

PsQuerySystemAvailableCpus возвращает одно из следующих значений NTSTATUS:

Код возврата Описание
STATUS_SUCCESS Запрос выполнен успешно.
СТАТУС_НЕДЕЙСТВИТЕЛЬНЫЙ_ПАРАМЕТР Любой из обязательных буферов имеет значение NULL.
STATUS_NO_WORK_DONE Заданный номер последовательности соответствует текущему номеру последовательности, и запрос не выполнен.
STATUS_BUFFER_TOO_SMALL Заданный буфер сходства слишком мал.

Замечания

Эту подпрограмму можно вызвать в IRQL из PASSIVE_LEVEL в DISPATCH_LEVEL.

Буфер сходства должен быть достаточно большим, чтобы вместить число активных групп обработчиков. Используйте KeQueryActiveGroupCount для определения требуемого размера.

Порядковый номер позволяет вызывающим пользователям оптимизировать повторяющиеся запросы, проверяя, изменилась ли доступность ЦП с момента последнего вызова.

Эта функция запрашивает доступность ЦП для системного процесса, который обычно представляет все доступные ЦП в системе.

Требования

Требование Ценность
Заголовок wdm.h
IRQL PASSIVE_LEVEL to DISPATCH_LEVEL

См. также

PsQuerySystemAvailableCpusCount

PsQueryProcessAvailableCpus

KeQueryActiveGroupCount