Condividi tramite


Funzione StorPortCreateSystemThread (storport.h)

StorPortCreateSystemThread crea un thread di sistema e fornisce un puntatore a un contesto per il thread.

Sintassi

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

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware del miniport.

[in] StartRoutine

Puntatore al punto di ingresso per il thread di sistema appena creato. Questo parametro è un puntatore di funzione a un callback STOR_THREAD_START_ROUTINE che riceve un singolo argomento, ovvero il valore del parametro StartContext .

[in/optional] StartContext

Puntatore a un singolo argomento passato al thread quando inizia l'esecuzione.

[in/optional] Priority

Puntatore a un valore di enumerazione STOR_THREAD_PRIORITY che specifica la priorità del thread.

[out/optional] ThreadContext

Puntatore a una variabile che riceverà il contesto del thread.

Valore restituito

StorPortCreateSystemThread restituisce uno dei valori seguenti:

Codice restituito Descrizione
STOR_STATUS_SUCCESS Un thread di sistema è stato creato correttamente.
STOR_STATUS_INVALID_PARAMETER Uno o più parametri forniti non sono validi.
STOR_STATUS_UNSUCCESSFUL Restituito per altri motivi di sistema interni.

Commenti

I driver Miniport che creano thread dedicati al dispositivo chiamano StorPortCreateSystemThread, quando inizializzano o quando le richieste di I/O iniziano a entrare nelle routine Dispatch del driver. Ad esempio, un driver potrebbe creare un thread di questo tipo quando riceve una richiesta di controllo del dispositivo asincrona.

Il thread continua a essere eseguito fino a quando il sistema non viene arrestato o il thread termina se stesso chiamando StorPortTerminateSystemThread.

La priorità del thread può essere modificata chiamando StorPortSetPriorityThread. Un miniport deve specificare un valore di priorità del thread che evita le inversione della priorità di runtime. Per altre informazioni, vedere Thread dedicati al dispositivo .

Per una determinata scheda, il numero massimo di thread di sistema che un miniport può creare è il numero massimo di processori logici nel sistema.

Requisiti

Requisito Valore
Server minimo supportato Windows Server 2022
Intestazione storport.h

Vedi anche

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread