Partilhar via


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 do dispositivo de hardware do miniporto.

[in] StartRoutine

Ponteiro para o ponto de entrada do 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.

Valor de retorno

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.

Observações

Os drivers de miniport que criam threads dedicados ao dispositivo chamam StorPortCreateSystemThread, quando são inicializados ou quando as solicitações de E/S começam a entrar nas rotinas de de expedição de 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 seja encerrado por conta própria 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. Consulte 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 processador lógico no sistema.

Requisitos

Requisito Valor
servidor com suporte mínimo Windows Server 2022
cabeçalho storport.h

Consulte também

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread