Функция StorPortCreateSystemThread (storport.h)
StorPortCreateSystemThread создает системный поток и предоставляет указатель на контекст для потока.
Синтаксис
ULONG StorPortCreateSystemThread(
[in] PVOID HwDeviceExtension,
[in] PSTOR_THREAD_START_ROUTINE StartRoutine,
[in/optional] PVOID StartContext,
[in/optional] PSTOR_THREAD_PRIORITY Priority,
[out/optional] PVOID *ThreadContext
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства мини-порта.
[in] StartRoutine
Указатель на точку входа для вновь созданного системного потока. Этот параметр является указателем функции на обратный вызов STOR_THREAD_START_ROUTINE , получающий один аргумент, который является значением параметра StartContext .
[in/optional] StartContext
Указатель на один аргумент, который передается потоку при начале выполнения.
[in/optional] Priority
Указатель на значение перечисления STOR_THREAD_PRIORITY , указывающее приоритет потока.
[out/optional] ThreadContext
Указатель на переменную, которая получит контекст потока.
Возвращаемое значение
StorPortCreateSystemThread возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
STOR_STATUS_SUCCESS | Системный поток успешно создан. |
STOR_STATUS_INVALID_PARAMETER | Один или несколько указанных параметров являются недопустимыми. |
STOR_STATUS_UNSUCCESSFUL | Возвращается по другим внутренним системным причинам. |
Комментарии
Драйверы miniport, создающие выделенные устройствами потоки, вызывают StorPortCreateSystemThread либо при инициализации, либо когда запросы ввода-вывода начинают поступать в подпрограммы диспетчеризации драйвера. Например, драйвер может создать такой поток при получении асинхронного запроса на управление устройством.
Поток продолжает выполняться до завершения работы системы или завершения потока путем вызова StorPortTerminateSystemThread.
Приоритет потока можно изменить, вызвав StorPortSetPriorityThread. Мини-порт должен указывать значение приоритета потока, которое позволяет избежать инверсий приоритета во время выполнения. Дополнительные сведения см. в разделе Потоки, выделенные устройством.
Для данного адаптера максимальное число системных потоков, которые может создать минипорт, — это максимальное число логических процессоров в системе.
Требования
Требование | Значение |
---|---|
Минимальная версия сервера | Windows Server 2022 |
Верхняя часть | storport.h |