StorPortCreateSystemThread, fonction (storport.h)
StorPortCreateSystemThread crée un thread système et fournit un pointeur vers un contexte pour le thread.
Syntaxe
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
);
Paramètres
[in] HwDeviceExtension
Pointeur vers l’extension de périphérique matériel du miniport.
[in] StartRoutine
Pointeur vers le point d’entrée du thread système nouvellement créé. Ce paramètre est un pointeur de fonction vers un rappel STOR_THREAD_START_ROUTINE qui reçoit un argument unique, qui est la valeur du paramètre StartContext .
[in/optional] StartContext
Pointeur vers un argument unique qui est passé au thread quand il commence l’exécution.
[in/optional] Priority
Pointeur vers une valeur d’énumération STOR_THREAD_PRIORITY qui spécifie la priorité du thread.
[out/optional] ThreadContext
Pointeur vers une variable qui recevra le contexte de thread.
Valeur retournée
StorPortCreateSystemThread retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
STOR_STATUS_SUCCESS | Un thread système a été créé avec succès. |
STOR_STATUS_INVALID_PARAMETER | Un ou plusieurs des paramètres fournis ne sont pas valides. |
STOR_STATUS_UNSUCCESSFUL | Retourné pour d’autres raisons système internes. |
Remarques
Les pilotes miniport qui créent des threads dédiés à l’appareil appellent StorPortCreateSystemThread, soit lorsqu’ils s’initialisent, soit lorsque les demandes d’E/S commencent à entrer dans les routines Dispatch du pilote. Par exemple, un pilote peut créer un tel thread lorsqu’il reçoit une demande de contrôle d’appareil asynchrone.
Le thread continue à s’exécuter jusqu’à ce que le système soit arrêté ou que le thread se termine lui-même en appelant StorPortTerminateSystemThread.
La priorité du thread peut être modifiée en appelant StorPortSetPriorityThread. Un miniport doit spécifier une valeur de priorité de thread qui évite les inversions de priorité d’exécution. Pour plus d’informations, consultez Threads dédiés à l’appareil .
Pour un adaptateur donné, le nombre maximal de threads système qu’un miniport peut créer est le nombre maximal de processeurs logiques dans le système.
Configuration requise
Condition requise | Valeur |
---|---|
Serveur minimal pris en charge | Windows Server 2022 |
En-tête | storport.h |