Freigeben über


StorPortCreateSystemThread-Funktion (storport.h)

StorPortCreateSystemThread erstellt einen Systemthread und stellt einen Zeiger auf einen Kontext für den Thread bereit.

Syntax

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

Parameter

[in] HwDeviceExtension

Zeiger auf die Hardwaregeräteerweiterung des Miniports.

[in] StartRoutine

Zeiger auf den Einstiegspunkt für den neu erstellten Systemthread. Dieser Parameter ist ein Funktionszeiger auf einen STOR_THREAD_START_ROUTINE Rückruf, der ein einzelnes Argument empfängt, bei dem es sich um den StartContext-Parameterwert handelt.

[in/optional] StartContext

Zeiger auf ein einzelnes Argument, das an den Thread übergeben wird, wenn die Ausführung beginnt.

[in/optional] Priority

Zeiger auf einen STOR_THREAD_PRIORITY Enumerationswert, der die Threadpriorität angibt.

[out/optional] ThreadContext

Zeiger auf eine Variable, die den Threadkontext empfängt.

Rückgabewert

StorPortCreateSystemThread gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STOR_STATUS_SUCCESS Ein Systemthread wurde erfolgreich erstellt.
STOR_STATUS_INVALID_PARAMETER Mindestens einer der bereitgestellten Parameter ist ungültig.
STOR_STATUS_UNSUCCESSFUL Wird aus anderen internen Systemgründen zurückgegeben.

Hinweise

Miniporttreiber, die dedizierte Gerätethreads erstellen, rufen StorPortCreateSystemThread auf, entweder wenn sie initialisiert werden oder wenn E/A-Anforderungen in die Dispatch-Routinen des Treibers eingehen. Beispielsweise kann ein Treiber einen solchen Thread erstellen, wenn er eine asynchrone Gerätesteuerungsanforderung empfängt.

Der Thread wird weiterhin ausgeführt, bis entweder das System heruntergefahren wird oder der Thread sich selbst beendet, indem StorPortTerminateSystemThread aufgerufen wird.

Die Threadpriorität kann durch Aufrufen von StorPortSetPriorityThread geändert werden. Ein Miniport sollte einen Threadprioritätswert angeben, der Laufzeitprioritätsinversionen vermeidet. Weitere Informationen finden Sie unter Gerätededizierte Threads .

Für einen bestimmten Adapter ist die maximale Anzahl von Systemthreads, die ein Miniport erstellen kann, die maximale Anzahl logischer Prozessoren im System.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2022
Kopfzeile storport.h

Weitere Informationen

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread