Функция StorPortIssueDpc (storport.h)

Подпрограмма StorPortIssueDpc выполняет отложенный вызов процедуры (DPC).

Синтаксис

BOOLEAN StorPortIssueDpc(
  [in] PVOID     DeviceExtension,
  [in] PSTOR_DPC Dpc,
  [in] PVOID     SystemArgument1,
  [in] PVOID     SystemArgument2
);

Параметры

[in] DeviceExtension

Указатель на расширение устройства для каждого адаптера.

[in] Dpc

Указатель на буфер, содержащий инициализированный объект DPC типа STOR_DPC возвращен подпрограммой StorPortInitializeDpc .

[in] SystemArgument1

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

[in] SystemArgument2

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

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

Подпрограмма StorPortIssueDpc возвращает значение TRUE , если DPC был успешно вставлен в очередь DPC, и false в противном случае.

Комментарии

Подпрограмма StorPortIssueDpc вызывает подпрограмму ядра KeInsertQueueDpc для постановки DPC в очередь. Подпрограмма ядра KeInsertQueueDpc не позволяет несколько раз помещать DPC в очередь. Таким образом, если объект DPC, указанный параметром Dpc , уже находится в очереди DPC, KeInsertQueueDpc игнорирует запрос очереди. Это гарантирует, что отложенная подпрограмма, инициализированная с помощью StorPortInitializeDpc , всегда будет синхронизирована с самой собой. Иными словами, вызывающей процедуре Не нужно последовательно выполнять вызовы процедуры StorPortIssueDpc , чтобы гарантировать, что несколько экземпляров подпрограммы не запускаются одновременно.

Если драйвер мини-порта содержит несколько рабочих элементов, которые должны выполняться с помощью одного И того же DPC, драйвер мини-порта должен убедиться, что каждый рабочий элемент завершается, прежде чем выдавать DPC для следующего рабочего элемента.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)

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

KeInsertQueueDpc

STOR_DPC

StorPortInitializeDpc