REVISIÓN: Llamadas a la API de administración de dispositivos desde un subproceso de prioridad alta tardan mucho en Windows Embedded Compact 7

Síntomas

Suponga que un dispositivo principal que se ejecuta Windows Embedded Compact 7 aloja un controlador de dispositivo, como un puerto COM, un puerto USB, un dispositivo multimedia o un dispositivo virtual de Telnet. Si una aplicación de usuario llama a las API de administración de dispositivos al mismo tiempo que otro proceso está cerrando un controlador de dispositivo, la llamada a la API tarda mucho más tiempo de lo esperado en Finalizar.

Por ejemplo, el envía de aplicación de usuario un DeviceIoControl de comando a un CAN bus al mismo tiempo que telnetd TEL0 se está cerrando. En esta situación, la llamada a la API de la aplicación de usuario podría bloquearse hasta que termine telnetd cerrar el controlador de dispositivo.

Causa

Este problema se produce debido a un bloqueo de sincronización en el que se hospeda en el Administrador de dispositivos. Tenga en cuenta que no puede resolver este problema mediante la asignación de una prioridad más alta para la aplicación del usuario. El registro de seguimiento del núcleo indica que el subproceso de prioridad baja fue impulsado por diseño, para acelerar el proceso desbloqueo. Sin embargo, el subproceso de prioridad baja también fue bloqueado por otro subproceso.

Más información

Información de actualización de software

Hay una actualización disponible para resolver este problema.

Información de descarga

El Embedded Compact 7 actualización mensual de Windows (noviembre de 2014) ahora está disponible de Microsoft. Para descargar esta actualización mensual de Windows Embedded Compact 7, vea en el sitio Web de Microsoft Download Center:

El tipo de procesador al que se aplica cada archivo es visible en el nombre de cada archivo en la sección "Información de archivos".

Requisitos previos

Para instalar esta actualización, deben instalar todas las actualizaciones publicadas previamente para este producto.

Requisito de reinicio

Después de aplicar esta actualización, debe realizar una compilación limpia de toda la plataforma. Para ello, utilice uno de los métodos siguientes:

  • En el menú Generar, haga clic en Limpiar solución y, a continuación, haga clic en Generar solución.

  • En el menú Generar, haga clic en Volver a generar solución.

No es necesario que reinicie el equipo después de aplicar esta actualización de software.

Información para sustituir la actualización

Esta actualización no sustituye a otras actualizaciones.

La versión en inglés de este paquete de actualización de software tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha Zona horaria en el elemento de Fecha y hora del Panel de control.

Archivos que se incluyen en este paquete de revisión

Nombre del archivo

Tamaño de archivo

Fecha

Hora

Ruta de acceso

Devcore.lib

736,910

06-Nov-2014

10:17

Public\Common\Oak\Lib\X86\Retail

Devcore.lib

932,212

06-Nov-2014

10:17

Public\Common\Oak\Lib\X86\Debug

Devcore.lib

912,138

06-Nov-2014

10:17

Public\Common\Oak\Lib\X86\Checked

Devcore.lib

871,522

06-Nov-2014

10:18

Public\Common\Oak\Lib\Armv5\Retail

Devcore.lib

1,153,096

06-Nov-2014

10:17

Public\Common\Oak\Lib\Armv5\Debug

Devcore.lib

1,079,368

06-Nov-2014

10:18

Public\Common\Oak\Lib\Armv5\Checked

Devcore.lib

871,634

06-Nov-2014

10:19

Public\Common\Oak\Lib\Armv6\Retail

Devcore.lib

1,153,166

06-Nov-2014

10:17

Public\Common\Oak\Lib\Armv6\Debug

Devcore.lib

1,079,478

06-Nov-2014

10:18

Public\Common\Oak\Lib\Armv6\Checked

Devcore.lib

868,586

06-Nov-2014

10:19

Public\Common\Oak\Lib\Armv7\Retail

Devcore.lib

1,149,680

06-Nov-2014

10:17

Public\Common\Oak\Lib\Armv7\Debug

Devcore.lib

1,073,944

06-Nov-2014

10:18

Public\Common\Oak\Lib\Armv7\Checked

Devcore.lib

867,274

06-Nov-2014

10:18

Public\Common\Oak\Lib\Mipsii\Retail

Devcore.lib

1,124,398

06-Nov-2014

10:17

Public\Common\Oak\Lib\Mipsii\Debug

Devcore.lib

1,052,050

06-Nov-2014

10:18

Public\Common\Oak\Lib\Mipsii\Checked

Devcore.lib

868,100

06-Nov-2014

10:18

Public\Common\Oak\Lib\Mipsii_fp\Retail

Devcore.lib

1,125,222

06-Nov-2014

10:17

Public\Common\Oak\Lib\Mipsii_fp\Debug

Devcore.lib

1,052,870

06-Nov-2014

10:18

Public\Common\Oak\Lib\Mipsii_fp\Checked

Devcore.lib

797,104

06-Nov-2014

10:18

Public\Common\Oak\Lib\Sh4\Retail

Devcore.lib

1,006,526

06-Nov-2014

10:18

Public\Common\Oak\Lib\Sh4\Debug

Devcore.lib

934,488

06-Nov-2014

10:18

Public\Common\Oak\Lib\Sh4\Checked

Devfile.c

25,055

30-Oct-2014

17:46

Private\Winceos\Coreos\Device\Devcore



Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×