Share via


Novedades de procesos y subprocesos

Windows 7 y Windows Server 2008 R2 incluyen los siguientes elementos de programación nuevos para procesos y subprocesos.

Nuevas funcionalidades

Las versiones de 64 bits de Windows 7 y Windows Server 2008 R2 admiten más de 64 procesadores lógicos en un solo equipo. Para obtener más información, consulte Grupos de procesadores.

La programación en modo de usuario (UMS) es un mecanismo ligero que las aplicaciones pueden usar para programar sus propios subprocesos. Para obtener más información, vea Programación en modo de usuario.

Funciones nuevas

Las siguientes funciones nuevas se usan con procesadores y grupos de procesadores.

Función Descripción
CreateRemoteThreadEx
Crea un subproceso que se ejecuta en el espacio de direcciones virtuales de otro proceso y, opcionalmente, especifica atributos extendidos, como la afinidad de grupo de procesadores.
GetActiveProcessorCount
Devuelve el número de procesadores activos en un grupo de procesadores o en el sistema.
GetActiveProcessorGroupCount
Devuelve el número de grupos de procesadores activos en el sistema.
GetCurrentProcessorNumberEx
Recupera el grupo de procesadores y el número del procesador lógico en el que se ejecuta el subproceso que realiza la llamada.
GetLogicalProcessorInformationEx
Recupera información sobre las relaciones de los procesadores lógicos y el hardware relacionado.
GetMaximumProcessorCount
Devuelve el número máximo de procesadores lógicos que puede tener un grupo de procesadores o el sistema.
GetMaximumProcessorGroupCount
Devuelve el número máximo de grupos de procesadores que puede tener el sistema.
GetNumaAvailableMemoryNodeEx
Recupera la cantidad de memoria que está disponible en el nodo especificado como un valor de USHORT.
GetNumaNodeNumberFromHandle
Recupera el nodo NUMA asociado al dispositivo subyacente para un identificador de archivo.
GetNumaNodeProcessorMaskEx
Recupera la máscara de procesador para el nodo NUMA especificado como un valor de USHORT.
GetNumaProcessorNodeEx
Recupera el número de nodo del procesador lógico especificado como un valor de USHORT.
GetNumaProximityNodeEx
Recupera el número de nodo como un valor de USHORT para el identificador de proximidad especificado.
GetProcessGroupAffinity
Recupera la afinidad de grupo de procesadores del proceso especificado.
GetProcessorSystemCycleTime
Recupera el tiempo de ciclo que cada procesador del grupo especificado ha dedicado a ejecutar llamadas a procedimientos diferidos (DPC) e interrumpir rutinas de servicio (ISR).
GetThreadGroupAffinity
Recupera la afinidad de grupo de procesadores del subproceso especificado.
GetThreadIdealProcessorEx
Recupera el número de procesador del procesador ideal para el subproceso especificado.
QueryIdleProcessorCycleTimeEx
Recupera el tiempo de ciclo acumulado para el subproceso inactivo en cada procesador lógico del grupo de procesadores especificado.
SetThreadGroupAffinity
Establece la afinidad de grupo de procesadores para el subproceso especificado.
SetThreadIdealProcessorEx
Establece el procesador ideal para el subproceso especificado y, opcionalmente, recupera el procesador ideal anterior.

 

Las siguientes funciones nuevas se usan con grupos de subprocesos.

Función Descripción
QueryThreadpoolStackInformation
Recupera los tamaños de reserva y confirmación de la pila para los subprocesos del grupo de subprocesos especificado.
SetThreadpoolCallbackPersistent
Especifica que la devolución de llamada se debe ejecutar en un subproceso persistente.
SetThreadpoolCallbackPriority
Especifica la prioridad de una función de devolución de llamada en relación con otros elementos de trabajo del mismo grupo de subprocesos.
SetThreadpoolStackInformation
Establece los tamaños de reserva y confirmación de la pila para los nuevos subprocesos del grupo de subprocesos especificado.

 

Las siguientes funciones nuevas se usan con UMS.

Función Descripción
CreateUmsCompletionList
Crea una lista de finalización de UMS.
CreateUmsThreadContext
Crea un contexto de subproceso de UMS para representar un subproceso de trabajo de UMS.
DeleteUmsCompletionList
Elimina la lista de finalización de UMS especificada. La lista debe estar vacía.
DeleteUmsThreadContext
Elimina el contexto de subproceso de UMS especificado. El subproceso debe terminarse.
DequeueUmsCompletionListItems
Recupera los subprocesos de trabajo de UMS de la lista de finalización de UMS especificada.
EnterUmsSchedulingMode
Convierte el subproceso que realiza la llamada en un subproceso del programador de UMS.
ExecuteUmsThread
Ejecuta el subproceso de trabajo de UMS especificado.
GetCurrentUmsThread
Devuelve el contexto de subproceso umS del subproceso de UMS que llama.
GetNextUmsListItem
Devuelve el siguiente contexto de subproceso de UMS en una lista de contextos de subprocesos de UMS.
GetUmsCompletionListEvent
Recupera un identificador del evento asociado a la lista de finalización de UMS especificada.
QueryUmsThreadInformation
Recupera información sobre el subproceso de trabajo de UMS especificado.
SetUmsThreadInformation
Establece información de contexto específica de la aplicación para el subproceso de trabajo de UMS especificado.
UmsSchedulerProc
Función de punto de entrada del programador de UMS definida por la aplicación asociada a una lista de finalización de UMS.
UmsThreadYield
Produce el control al subproceso del programador de UMS en el que se ejecuta el subproceso de trabajo de UMS que realiza la llamada.

 

Nuevas estructuras

Estructura Descripción
CACHE_RELATIONSHIP
Describe los atributos de caché.
GROUP_AFFINITY
Contiene una afinidad específica del grupo de procesadores, como la afinidad de un subproceso.
GROUP_RELATIONSHIP
Contiene información sobre los grupos de procesadores.
NUMA_NODE_RELATIONSHIP
Contiene información sobre un nodo NUMA en un grupo de procesadores.
PROCESSOR_GROUP_INFO
Contiene el número y la afinidad de los procesadores de un grupo de procesadores.
PROCESSOR_NUMBER
Representa un procesador lógico en un grupo de procesadores.
PROCESSOR_RELATIONSHIP
Contiene información sobre la afinidad dentro de un grupo de procesadores.
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
Contiene información sobre las relaciones de los procesadores lógicos y el hardware relacionado.
UMS_CREATE_THREAD_ATTRIBUTES
Especifica los atributos de un subproceso de trabajo de UMS.
UMS_SCHEDULER_STARTUP_INFO
Especifica los atributos de un subproceso del programador de UMS.