Compartir a través de


Función StorPortCreateSystemThread (storport.h)

StorPortCreateSystemThread crea un subproceso del sistema y proporciona un puntero a un contexto para el subproceso.

Sintaxis

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

Puntero a la extensión de dispositivo de hardware del miniporte.

[in] StartRoutine

Puntero al punto de entrada del subproceso del sistema recién creado. Este parámetro es un puntero de función a una devolución de llamada STOR_THREAD_START_ROUTINE que recibe un único argumento, que es el valor del parámetro StartContext .

[in/optional] StartContext

Puntero a un único argumento que se pasa al subproceso cuando comienza la ejecución.

[in/optional] Priority

Puntero a un valor de enumeración STOR_THREAD_PRIORITY que especifica la prioridad del subproceso.

[out/optional] ThreadContext

Puntero a una variable que recibirá el contexto del subproceso.

Valor devuelto

StorPortCreateSystemThread devuelve uno de los siguientes valores:

Código devuelto Descripción
STOR_STATUS_SUCCESS Se ha creado correctamente un subproceso del sistema.
STOR_STATUS_INVALID_PARAMETER Uno o varios de los parámetros proporcionados no son válidos.
STOR_STATUS_UNSUCCESSFUL Se devuelve por otros motivos internos del sistema.

Comentarios

Los controladores de miniporte que crean subprocesos dedicados al dispositivo llaman a StorPortCreateSystemThread, ya sea cuando se inicializan o cuando las solicitudes de E/S comienzan a entrar en las rutinas de distribución del controlador. Por ejemplo, un controlador podría crear este subproceso cuando recibe una solicitud de control de dispositivo asincrónica.

El subproceso continúa ejecutándose hasta que el sistema se apaga o el subproceso finaliza por sí mismo llamando a StorPortTerminateSystemThread.

La prioridad del subproceso se puede cambiar llamando a StorPortSetPriorityThread. Un miniport debe especificar un valor de prioridad de subproceso que evite las inversiones de prioridad en tiempo de ejecución. Consulte Subprocesos dedicados al dispositivo para obtener más información.

Para un adaptador determinado, el número máximo de subprocesos del sistema que puede crear un minipuerto es el número máximo de procesadores lógicos del sistema.

Requisitos

Requisito Value
Servidor mínimo compatible Windows Server 2022
Encabezado storport.h

Consulte también

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread