CreateUmsCompletionList-Funktion (winbase.h)

Erstellt eine Vervollständigungsliste für die Planung im Benutzermodus ( UMS).

Warnung

Ab Windows 11 wird die Planung im Benutzermodus nicht unterstützt. Alle Aufrufe schlagen mit dem Fehler ERROR_NOT_SUPPORTEDfehl.

Syntax

BOOL CreateUmsCompletionList(
  [out] PUMS_COMPLETION_LIST *UmsCompletionList
);

Parameter

[out] UmsCompletionList

Eine PUMS_COMPLETION_LIST Variable. Bei der Ausgabe empfängt dieser Parameter einen Zeiger auf eine leere UMS-Vervollständigungsliste.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie einen Wert ohne Zero zurück.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. Mögliche Fehlerwerte sind:

Rückgabecode Beschreibung
ERROR_NOT_ENOUGH_MEMORY
Zum Erstellen der Vervollständigungsliste steht nicht genügend Arbeitsspeicher zur Verfügung.
ERROR_NOT_SUPPORTED
UMS wird nicht unterstützt.

Hinweise

Eine Vervollständigungsliste ist einem UMS-Planerthread zugeordnet, wenn die EnterUmsSchedulingMode-Funktion aufgerufen wird, um den Planerthread zu erstellen. Das System führt neu erstellte UMS-Workerthreads in die Vervollständigungsliste ein. Außerdem werden zuvor blockierte UMS-Workerthreads in die Vervollständigungsliste warteschlangen, wenn die Threads nicht mehr blockiert werden.

Wenn die UmsSchedulerProc-Einstiegspunktfunktion einer Anwendung aufgerufen wird, sollte der Planer der Anwendung Elemente aus der Vervollständigungsliste abrufen, indem DequeueUmsCompletionListItems aufgerufen wird.

Jede Vervollständigungsliste weist ein zugeordnetes Vervollständigungslistenereignis auf, das signalisiert wird, wenn das System Elemente in eine leere Liste einschlange. Verwenden Sie GetUmsCompletionListEvent , um ein Handle für das Ereignis für eine angegebene Vervollständigungsliste abzurufen.

Wenn eine Vervollständigungsliste nicht mehr benötigt wird, verwenden Sie deleteUmsCompletionList , um die Liste zu freigeben. Die Liste muss leer sein, bevor sie freigegeben werden kann.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 (nur 64-Bit) [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll
APIs api-ms-win-core-ums-l1-1-0 (in Windows 7 eingeführt)

Weitere Informationen

DequeueUmsCompletionListItems

EnterUmsSchedulingMode

GetUmsCompletionListEvent