StorPortCreateSystemThread 함수(storport.h)

StorPortCreateSystemThread 는 시스템 스레드를 만들고 스레드의 컨텍스트에 대한 포인터를 제공합니다.

구문

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

매개 변수

[in] HwDeviceExtension

미니포트의 하드웨어 디바이스 확장에 대한 포인터입니다.

[in] StartRoutine

새로 만든 시스템 스레드의 진입점에 대한 포인터입니다. 이 매개 변수는 StartContext 매개 변수 값인 단일 인수를 수신하는 STOR_THREAD_START_ROUTINE 콜백에 대한 함수 포인터입니다.

[in/optional] StartContext

실행을 시작할 때 스레드에 전달되는 단일 인수에 대한 포인터입니다.

[in/optional] Priority

스레드 우선 순위를 지정하는 STOR_THREAD_PRIORITY 열거형 값에 대한 포인터입니다.

[out/optional] ThreadContext

스레드 컨텍스트를 수신할 변수에 대한 포인터입니다.

반환 값

StorPortCreateSystemThread 는 다음 값 중 하나를 반환합니다.

반환 코드 설명
STOR_STATUS_SUCCESS 시스템 스레드가 성공적으로 생성되었습니다.
STOR_STATUS_INVALID_PARAMETER 제공된 매개 변수 중 하나 이상이 잘못되었습니다.
STOR_STATUS_UNSUCCESSFUL 다른 내부 시스템 이유로 반환됩니다.

설명

디바이스 전용 스레드를 만드는 미니포트 드라이버는 초기화할 때 또는 I/O 요청이 드라이버의 디스패치 루틴에 들어오기 시작할 때 StorPortCreateSystemThread를 호출합니다. 예를 들어 드라이버는 비동기 디바이스 제어 요청을 받을 때 이러한 스레드를 만들 수 있습니다.

시스템이 종료되거나 StorPortTerminateSystemThread를 호출하여 스레드가 자체 종료될 때까지 스레드가 계속 실행됩니다.

StorPortSetPriorityThread를 호출하여 스레드 우선 순위를 변경할 수 있습니다. 미니포트는 런타임 우선 순위 반전을 방지하는 스레드 우선 순위 값을 지정해야 합니다. 자세한 내용은 디바이스 전용 스레드 를 참조하세요.

지정된 어댑터의 경우 미니포트에서 만들 수 있는 최대 시스템 스레드는 시스템의 최대 논리 프로세서 수입니다.

요구 사항

요구 사항
지원되는 최소 서버 Windows Server 2022
머리글 storport.h

추가 정보

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread