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


Функция 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 Возвращается по другим внутренним причинам системы.

Замечания

Минипорт-драйверы, которые создают выделенные устройствами потоки, вызывают StorPortCreateSystemThread, когда они инициализировать или когда запросы ввода-вывода начинают поступать в диспетчера драйвера. Например, драйвер может создать такой поток при получении асинхронного запроса на управление устройствами.

Поток продолжает выполняться до завершения работы системы или завершения потока путем вызова StorPortTerminateSystemThread.

Приоритет потока можно изменить путем вызова StorPortSetPriorityThread. Минипорт должен указать значение приоритета потока, которое позволяет избежать инверсий приоритета во время выполнения. Дополнительные сведения см. в выделенны х устройствами потоков.

Для данного адаптера максимальное число системных потоков, которые может создать минипорт, — это максимальное число логических процессоров в системе.

Требования

Требование Ценность
минимальный поддерживаемый сервер Windows Server 2022
заголовка storport.h

См. также

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread