Compartir a través de


Función createUmsCompletionList (winbase.h)

Crea una lista de finalización de programación en modo de usuario (UMS).

Advertencia

A partir de Windows 11, no se admite la programación en modo de usuario. Todas las llamadas producen el error ERROR_NOT_SUPPORTED.

Sintaxis

BOOL CreateUmsCompletionList(
  [out] PUMS_COMPLETION_LIST *UmsCompletionList
);

Parámetros

[out] UmsCompletionList

Variable PUMS_COMPLETION_LIST . En la salida, este parámetro recibe un puntero a una lista de finalización de UMS vacía.

Valor devuelto

Si la función se ejecuta correctamente, devuelve un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. Entre los valores de error posibles se incluyen los siguientes.

Código devuelto Descripción
ERROR_NOT_ENOUGH_MEMORY
No hay suficiente memoria disponible para crear la lista de finalización.
ERROR_NOT_SUPPORTED
No se admite UMS.

Comentarios

Una lista de finalización está asociada a un subproceso del programador de UMS cuando se llama a la función EnterUmsSchedulingMode para crear el subproceso del programador. El sistema pone en cola los subprocesos de trabajo de UMS recién creados en la lista de finalización. También pone en cola subprocesos de trabajo de UMS bloqueados previamente en la lista de finalización cuando los subprocesos ya no están bloqueados.

Cuando se llama a la función de punto de entrada UmsSchedulerProc de una aplicación, el programador de la aplicación debe recuperar elementos de la lista de finalización llamando a DequeueUmsCompletionListItems.

Cada lista de finalización tiene un evento de lista de finalización asociado que se señala cada vez que el sistema pone en cola los elementos de una lista vacía. Use GetUmsCompletionListEvent para obtener un identificador para el evento de una lista de finalización especificada.

Cuando ya no se necesite una lista de finalización, use DeleteUmsCompletionList para liberar la lista. La lista debe estar vacía antes de que se pueda liberar.

Requisitos

   
Cliente mínimo compatible Windows 7 (solo 64 bits) [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll
Conjunto de API api-ms-win-core-ums-l1-1-0 (introducido en Windows 7)

Consulte también

DequeueUmsCompletionListItems

EnterUmsSchedulingMode

GetUmsCompletionListEvent