Função StorPortCreateSystemThread (storport.h)

StorPortCreateSystemThread cria um thread do sistema e fornece um ponteiro para um contexto para o thread.

Sintaxe

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
);

Parâmetros

[in] HwDeviceExtension

Ponteiro para a extensão de dispositivo de hardware do miniport.

[in] StartRoutine

Ponteiro para o ponto de entrada para o thread do sistema recém-criado. Esse parâmetro é um ponteiro de função para um retorno de chamada STOR_THREAD_START_ROUTINE que recebe um único argumento, que é o valor do parâmetro StartContext .

[in/optional] StartContext

Ponteiro para um único argumento que é passado para o thread quando ele inicia a execução.

[in/optional] Priority

Ponteiro para um valor de enumeração STOR_THREAD_PRIORITY que especifica a prioridade do thread.

[out/optional] ThreadContext

Ponteiro para uma variável que receberá o contexto de thread.

Retornar valor

StorPortCreateSystemThread retorna um dos seguintes valores:

Código de retorno Descrição
STOR_STATUS_SUCCESS Um thread do sistema foi criado com êxito.
STOR_STATUS_INVALID_PARAMETER Um ou mais dos parâmetros fornecidos são inválidos.
STOR_STATUS_UNSUCCESSFUL Retornado por outros motivos internos do sistema.

Comentários

Os drivers de miniport que criam threads dedicados ao dispositivo chamam StorPortCreateSystemThread, seja quando inicializam ou quando as solicitações de E/S começam a entrar nas rotinas de Expedição do driver. Por exemplo, um driver pode criar esse thread quando recebe uma solicitação de controle de dispositivo assíncrona.

O thread continua a ser executado até que o sistema seja desligado ou o thread termine sozinho chamando StorPortTerminateSystemThread.

A prioridade do thread pode ser alterada chamando StorPortSetPriorityThread. Um miniporto deve especificar um valor de prioridade de thread que evite inversões de prioridade em tempo de execução. Confira Threads dedicados ao dispositivo para obter mais informações.

Para um determinado adaptador, o máximo de threads do sistema que um miniporto pode criar é a contagem máxima de processadores lógicos no sistema.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022
Cabeçalho storport.h

Confira também

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread