Cursos
Módulo
Cree un agente declarativo para Microsoft 365 Copilot optimizado para un escenario específico. Lleve acciones al agente con complementos de API para acceder a datos externos en tiempo real.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Para obtener la mayor ventaja de las pruebas y pruebas fundamentales del dispositivo que podría haber escrito con las plantillas de prueba de Visual Studio, el dispositivo debe ser compatible con un complemento de E/S simple. Para ver si se admite el tipo de dispositivo y determinar si hay requisitos específicos para las pruebas, consulte Complementos de E/S simples WDTF proporcionados. Si el dispositivo no es compatible, puede crear un complemento en Microsoft Visual Studio mediante la plantilla complemento de acción de E/S simple de WDTF .
Abra el archivo de implementación del proyecto, por ejemplo, CWDTFmyDeviceTypeSimpleIoActionImpl.cpp y busque la instancia del método IAction::SetTarget SetTarget . Este método tiene una sección marcada con comentarios y TODO: que indica dónde debe implementar código que comprueba la compatibilidad con el dispositivo.
WDTF llama una vez al método SetTarget para cada instancia. Tiene dos propósitos principales:
La implementación de este método debe devolver E_NOINTERFACE para indicar que no se admite el destino. El método debe devolver S_OK si se admite el destino. Si se produce cualquier otro error, el método debe devolver HRESULT para indicar el error.
////
// TODO: 1) Perform your checks to see if your implementation is compatible with the target.
// Use the ITarget::GetValue() & ITarget::Eval() method to get the necessary data , info
// to determine that.
// 2) Also get the necessary info and save it in a member variable
// to accomplish the later Open() method call.
A continuación, debe abrir ITarget para realizar pruebas mediante la implementación del método Open() proporcionado.
Este método Open debe intentar abrir el dispositivo de destino. Si el método no puede hacerlo, el método debe devolver un VALOR HRESULT que indica el error. Este método debe producir un error si la interfaz SimpleIO ya está abierta (inicializada). La forma en que implementa este método depende del tipo ITarget y de lo que tenga más sentido en su situación. Quizás esto significa que debe abrir un identificador con CreateFile(). Quizás significa que inicializa una estructura de contexto para que pueda realizar un seguimiento de un caso de prueba en curso. En caso de error, el método debe usar comReportError () y debe proporcionar una descripción del error y cualquier información o paso que pueda ayudar a evitar futuras apariciones.
Nota Este método debe producir un error si ISimpleIO_Action ya está abierto.
Abra el archivo de implementación del proyecto, por ejemplo, CWDTFmyDeviceTypeSimpleIoActionImpl.cpp y busque la instancia del método Open . Este método tiene una sección marcada con comentarios y TODO:
//
// TODO: Add code for your implementation of Open() here.
//
//
// To return failure use COMReportError(,,,). For example the following
// will return E_FAIL as the error code and "My Device error String" as
// the error string.
//
// COMReportError(WDTF, E_FAIL, "My Device error String");
//
Este método debe cerrar el contexto de prueba abierto anteriormente. Debe borrar el contexto incluso si debe informar de un HRESULT con errores. Solo hay algunos casos en los que un error que se produce cuando se cierra realmente tiene sentido. En este método, debe revertir cualquier operación que haya realizado en Open(). Quizás esto significa que debe cerrar el identificador abierto previamente con CloseHandle(). En caso de error, proporcione una descripción procesable.
Nota Este método debe producir un error si el ISimpleIO_Action ya está cerrado o nunca se ha abierto.
Abra el archivo de implementación del proyecto, por ejemplo, CWDTFmyDeviceTypeSimpleIoActionImpl.cpp y busque la instancia del método Close . Este método tiene una sección marcada con comentarios y TODO:
//
// //
// TODO: Add code for your implementation of Close() here.
//
//
//
// To return failure use COMReportError(,,,). For example the following
// will return E_FAIL as the error code and "My Device error String" as
// the error string.
//
// COMReportError(WDTF, E_FAIL, "My Device error String");
//
//
Este método debe realizar un pequeño número de operaciones de entrada y salida en el destino. A continuación, el método debe comprobar que las operaciones de E/S se han completado correctamente. A continuación, cada prueba puede controlar cuánto tiempo realiza la E/S en un dispositivo. Cada llamada al método RunIo() solo debe realizar una pequeña cantidad de E/S . WDTF llamará a RunIo() repetidamente en un bucle para realizar más E/S. En general, intente mantener una sola llamada de método RunIo() a unos segundos.
Nota Este método debe producir un error si ISimpleIO_Action está cerrado actualmente.
Abra el archivo de implementación del proyecto, por ejemplo, CWDTFmyDeviceTypeSimpleIoActionImpl.cpp y busque la instancia del método RunIO. Este método tiene una sección marcada con comentarios y TODO:
//
// //
// TODO: Add code for your implmentaiton of RunIO() here.
//
//
//
// To return failure use COMReportError(,,,). For example the following
// will return E_FAIL as the error code and "My Device error String" as
// the error string.
//
// COMReportError(WDTF, E_FAIL, "My Device error String");
//
//
Si aún no lo ha hecho, deberá configurar un equipo para realizar pruebas. Para obtener más información, consulte Aprovisionamiento de un equipo para la implementación y pruebas de controladores (WDK 8.1) o Aprovisionamiento de un equipo para la implementación y pruebas de controladores (WDK 8) .
Compile la solución.
Al compilar el complemento Acción de E/S simple, se crean dos pruebas. Estas pruebas instalan y desinstalan el complemento en el equipo de prueba. De forma predeterminada, los archivos de complemento acción de E/S simples aparecen en el Explorador de grupos de pruebas, en la categoría de prueba Mi categoría de prueba.
Para instalar el complemento de acción de E/S simple, ejecute la prueba denominada Register WDTFProject>SimpleIOAction.DLL(Registrar proyecto WDTF<) en el equipo de prueba. Para obtener información sobre cómo seleccionar y ejecutar pruebas, consulte Cómo probar un controlador en tiempo de ejecución mediante Visual Studio.
Para comprobar que está instalado el complemento de acción de E/S simple, ejecute los dispositivos de visualización que tienen pruebas de E/S simples de WDTF en el equipo de prueba. El complemento y el dispositivo deben aparecer en los resultados. Para obtener más información, consulte How to determine if a custom WDTF Simple I/O Action Plug-in is required for your device.how to determine if a custom WDTF Simple I/O Action Plug-in is required for your device.
Para desinstalar el complemento de acción de E/S simple, ejecute la prueba denominada Un-register WDTF<Project>SimpleIOAction.DLL en el equipo de prueba. Para comprobar que ha desinstalado el complemento, ejecute los dispositivos display que tienen pruebas de E/S simple de WDTF .
Marco de creación y ejecución de pruebas (TAEF)
Cómo determinar si se requiere un complemento de acción de E/S simple WDTF personalizado para el dispositivo
Cómo probar un controlador en tiempo de ejecución mediante Visual Studio
Cursos
Módulo
Cree un agente declarativo para Microsoft 365 Copilot optimizado para un escenario específico. Lleve acciones al agente con complementos de API para acceder a datos externos en tiempo real.
Documentación
Se proporcionó Plug-Ins de E/S simple de WDTF - Windows drivers
Los complementos de E/S simples son extensiones para windows Driver Test Framework (WDTF) que implementan la funcionalidad genérica de E/S específica del dispositivo.
DF: suspensión y PNP (deshabilitar y habilitar) con E/S antes y después (desarrollo e integración)
DF: suspensión y PNP (deshabilitar y habilitar) con E/S antes y después (desarrollo e integración)
Si ha configurado un equipo remoto para realizar pruebas con Visual Studio, puede ejecutar una prueba de utilidad que muestre todos los dispositivos que tienen complementos de E/S simples de WDTF.