Функция 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) |