다음을 통해 공유


StorPortWaitForSingleObject 함수(storport.h)

미니포트는 지정된 디스패처 개체가 신호 상태로 설정되거나 필요에 따라 시간이 초과될 때까지 StorPortWaitForSingleObject 함수를 호출하여 현재 스레드를 대기 상태로 전환할 수 있습니다.

통사론

ULONG StorPortWaitForSingleObject(
  PVOID          HwDeviceExtension,
  PVOID          Object,
  BOOLEAN        Alertable,
  PLARGE_INTEGER Timeout
);

매개 변수

HwDeviceExtension

스토리지 미니포트의 디바이스 확장에 대한 포인터입니다.

Object

초기화된 디스패처 개체(이벤트, 뮤텍스, 세마포, 스레드 또는 타이머)에 대한 포인터입니다.

Alertable

대기가 경고 가능하면 부울 값이 TRUE로 설정되고, 그렇지 않으면 FALSE가 설정됩니다.

Timeout

대기가 완료될 절대 또는 상대 시간을 100나노초 단위로 지정하는 시간 제한 값에 대한 포인터입니다.

양수 값은 1601년 1월 1일을 기준으로 절대 시간을 지정합니다. 음수 값은 현재 시간을 기준으로 간격을 지정합니다. 절대 만료 시간은 시스템 시간의 변경 내용을 추적합니다. 상대 만료 시간은 시스템 시간 변경의 영향을 받지 않습니다.

시간 제한 = 0이면 루틴은 기다리지 않고 반환됩니다. 미니포트가 NULL 포인터를 제공하는 경우 루틴은 디스패처 개체가 신호 상태로 설정될 때까지 무기한 대기합니다. 자세한 내용은 다음 설명 섹션을 참조하세요.

반환 값

StorPortSetEvent 다음 중 하나와 같은 상태 코드를 반환합니다.

반환 코드 묘사
STOR_STATUS_INVALID_PARAMETER 하나 이상의 매개 변수가 잘못되었습니다.
STOR_STATUS_SUCCESS ETW 이벤트가 성공적으로 기록되었습니다.
STOR_STATUS_UNSUCCESSFUL 작업이 실패했습니다.

발언

자세한 내용은 KeWaitForSingleObject 참조하세요.

StorportWaitForSingleObject 호출자는 IRQL <= DISPATCH_LEVEL 실행되어야 합니다. 그러나 시간 제한 = NULL 또는 시간 제한 != 0인 경우 호출자는 IRQL <= APC_LEVEL 및 비비저장 스레드 컨텍스트에서 실행되어야 합니다. (시간 제한 != NULL 및 제한 시간 = 0인 경우 호출자는 IRQL <= DISPATCH_LEVEL 실행되어야 합니다.)

요구 사항

요구
지원되는 최소 클라이언트 Windows 10 버전 2004
헤더 storport.h

참고 항목

KeWaitForSingleObject

storportInitializeEvent

storportSetEvent