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