Compartir a través de


Determinar por qué UMDF indica archivos pendientes en el momento de la eliminación de dispositivos

En este tema se describe cómo puede usar las extensiones del depurador de Wudfext.dll junto con un controlador de User-Mode Driver Framework (UMDF) versión 1 o 2 para determinar por qué UMDF indica que hay archivos pendientes al quitar un dispositivo.

En el caso de la versión 1 de UMDF, usará comandos de extensión implementados en wudfext.dll. A partir de la versión 2 de UMDF, usará comandos de extensión implementados en wdfkd.dll.

Para determinar por qué UMDF indica archivos pendientes, siga estos pasos:

  1. Use !wudfext.umdevstack (UMDF 1) o !wdfkd.wdfumdevstack (UMDF 2) para volcar la pila del dispositivo. El volcado incluye archivos umDF dentro de la pila pendientes (es decir, objetos de archivo que un controlador de la pila creó en lugar de objetos de archivo creados por una aplicación o un controlador en otra pila).

  2. Para cada archivo dentro de la pila, ejecute !wudfext.umfile (UMDF 1) o !wdfkd.wdfumfile (UMDF 2) para obtener información sobre el archivo.

    La salida incluye la lista de IRP pendientes.

  3. Determine por qué cada IRP es excepcional mediante !wudfext.umirp (UMDF 1) o !wdfkd.wdfumirp (UMDF 2) para obtener información sobre el IRP.

    A partir de la salida de cada !wudfext.umirp o !wdfkd.wdfumirp:

    • Determine si se completó el IRP.
    • Determine si el controlador no eliminó explícitamente una solicitud creada por el controlador o implícitamente por el árbol de objetos.