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


Функция 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 (include Storport.h)

См. также

KeInsertQueueDpc

STOR_DPC

StorPortInitializeDpc