функция обратного вызова KIPI_BROADCAST_WORKER (wdm.h)

Подпрограмма IpiGenericCall выполняется одновременно на всех процессорах.

Синтаксис

KIPI_BROADCAST_WORKER KipiBroadcastWorker;

ULONG_PTR KipiBroadcastWorker(
  [in] ULONG_PTR Argument
)
{...}

Параметры

[in] Argument

Предоставляет значение, переданное подпрограмме KeIpiGenericCall с именем IpiGenericCall.

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

IpiGenericCall возвращает определенное драйвером значение. Если IpiGenericCall запущен на том же процессоре, который называется KeIpiGenericCall, KeIpiGenericCall возвращает определенное драйвером значение, которое возвращает IpiGenericCall . В противном случае значение игнорируется.

Комментарии

Подпрограммы IpiGenericCall выполняются в IRQL = IPI_LEVEL, что больше, чем DIRQL для каждого устройства. Подпрограммы IpiGenericCall должны соответствовать тем же ограничениям, что и процедуры обратного вызова проверка ошибок. Дополнительные сведения об этих ограничениях см. в статье Написание процедуры обратного вызова проверки ошибок.

Примеры

Чтобы определить подпрограмму обратного вызова IpiGenericCall , необходимо сначала предоставить объявление функции, определяющее тип определяемой процедуры обратного вызова. Windows предоставляет набор типов функций обратного вызова для драйверов. Объявление функции с помощью типов функций обратного вызова помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.

Например, чтобы определить подпрограмму обратного вызова IpiGenericCall с именем MyIpiGenericCall, используйте тип KIPI_BROADCAST_WORKER, как показано в следующем примере кода:

KIPI_BROADCAST_WORKER MyIpiGenericCall;

Затем реализуйте процедуру обратного вызова следующим образом:

_Use_decl_annotations_
ULONG_PTR
  MyIpiGenericCall(
    ULONG_PTR  Argument
    )
  {
      // Function body
  }

Тип функции KIPI_BROADCAST_WORKER определен в файле заголовка Wdm.h. Чтобы более точно определить ошибки при запуске средств анализа кода, обязательно добавьте заметку в _Use_decl_annotations_ определение функции. Заметка _Use_decl_annotations_ гарантирует, что будут использоваться заметки, которые применяются к типу функции KIPI_BROADCAST_WORKER в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в разделе Объявление функций с помощью типов ролей функций для драйверов WDM. Дополнительные сведения о _Use_decl_annotations_см. в статье Поведение функции с заметками.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
IRQL Звонил на IPI_LEVEL.

См. также раздел

KeIpiGenericCall