Share via


CreateUmsCompletionList 함수(winbase.h)

UMS(사용자 모드 예약) 완료 목록을 만듭니다.

경고

Windows 11 현재 사용자 모드 예약은 지원되지 않습니다. 오류로 모든 호출이 실패합니다 ERROR_NOT_SUPPORTED.

구문

BOOL CreateUmsCompletionList(
  [out] PUMS_COMPLETION_LIST *UmsCompletionList
);

매개 변수

[out] UmsCompletionList

PUMS_COMPLETION_LIST 변수입니다. 출력 시 이 매개 변수는 빈 UMS 완료 목록에 대한 포인터를 받습니다.

반환 값

함수가 성공하면 0이 아닌 값을 반환합니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 가능한 오류 값은 다음과 같습니다.

반환 코드 설명
ERROR_NOT_ENOUGH_MEMORY
완료 목록을 만드는 데 사용할 수 있는 메모리가 부족합니다.
ERROR_NOT_SUPPORTED
UMS는 지원되지 않습니다.

설명

완성 목록은 Scheduler 스레드를 만들기 위해 EnterUmsSchedulingMode 함수가 호출될 때 UMS 스케줄러 스레드와 연결됩니다. 시스템은 새로 만든 UMS 작업자 스레드를 완료 목록으로 큐에 대기합니다. 또한 스레드가 더 이상 차단되지 않을 때 이전에 차단된 UMS 작업자 스레드를 완료 목록에 큐에 대기합니다.

애플리케이션의 UmsSchedulerProc 진입점 함수가 호출되면 애플리케이션의 스케줄러는 DequeueUmsCompletionListItems를 호출하여 완료 목록에서 항목을 검색해야 합니다.

각 완료 목록에는 시스템이 항목을 빈 목록으로 큐에 대기할 때마다 신호를 전송하는 연결된 완료 목록 이벤트가 있습니다. GetUmsCompletionListEvent를 사용하여 지정된 완료 목록에 대한 이벤트에 대한 핸들을 가져옵니다.

완료 목록이 더 이상 필요하지 않은 경우 DeleteUmsCompletionList 를 사용하여 목록을 해제합니다. 목록을 놓기 전에 비어 있어야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7(64비트만 해당) [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll
API 세트 api-ms-win-core-ums-l1-1-0(Windows 7에서 도입)

추가 정보

DequeueUmsCompletionListItems

EnterUmsSchedulingMode

GetUmsCompletionListEvent