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


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

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

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread