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를 호출합니다. 가능한 오류 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
완료 목록을 만드는 데 사용할 수 있는 메모리가 부족합니다. |
|
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에서 도입) |