Pruebas de devolución de llamada del Registro
Esta prueba automatizada realiza casos de prueba básicos para un controlador de filtro del Registro.
Detalles de las pruebas
Especificaciones |
|
Plataformas |
|
Versiones admitidas |
|
Tiempo de ejecución esperado (en minutos) | 30 |
Categoría | Desarrollo |
Tiempo de espera (en minutos) | 1800 |
Requiere reinicio | false |
Requiere una configuración especial | false |
Tipo | automatic |
Documentación adicional
Las pruebas de este área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:
Ejecución de la prueba
Antes de ejecutar la prueba, complete la configuración de prueba como se describe en los requisitos de prueba: Requisitos previos de pruebas del sistema de archivos.
Solución de problemas
Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.
Para obtener información de solución de problemas, consulte Solución de problemas de pruebas del sistema de archivos.
Todos los casos de prueba devuelven Pass o Fail. Para revisar los detalles de la prueba, revise el registro de pruebas de Windows Hardware Lab Kit (Windows HLK) Studio. Para errores de prueba, busque el término "+sev" en el registro.
Más información
Esta prueba incluye los siguientes casos de prueba:
Conflicto de altitud
CreateKey Block
CreateKey Bypass
CreateKey Override Access Denied
CreateKey Override Block
SetKeySecurity Bypass
Omisión de clave de Transacted
Omisión de clave de transacted (sin confirmación)
Anular el registro de la carrera de cierre
Guardar reemplazo de restauración
Para ejecutar manualmente cada caso de prueba, use los procedimientos siguientes.
Para ejecutar manualmente el caso de prueba de conflicto de altitud
Registre una devolución de llamada a la altitud 1000.
Registre otra devolución de llamada a la misma altitud y compruebe que se produce un error.
CreateKey de la prueba de Monitor.
Registre tres de las mismas devoluciones de llamada en altitud 1000, 2000 y 3000. Establezca las tres devoluciones de llamada en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Cree una clave y compruebe que se realiza correctamente.
Anule el registro de las devoluciones de llamada.
Compruebe que cada devolución de llamada se invocó correctamente en función de su altitud.
Para ejecutar manualmente el caso de prueba CreateKey Block
Registre tres de las mismas devoluciones de llamada en altitud 1000, 2000 y 3000.
Establezca las devoluciones de llamada 1000 y 3000 en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Establezca la devolución de llamada 2000 en modo "bloquear". Esto significa que la devolución de llamada devolverá un estado de error.
Cree una clave y compruebe que se produce un error.
Anule el registro de las devoluciones de llamada.
Compruebe que cada devolución de llamada se invocó correctamente en función de su altitud.
Para ejecutar manualmente el caso de prueba CreateKey Bypass
Registre tres de las mismas devoluciones de llamada en altitud 1000, 2000 y 3000.
Establezca las devoluciones de llamada 1000 y 3000 en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Establezca la devolución de llamada 2000 en modo de "omisión". Esto significa que la devolución de llamada devolverá un STATUS_CALLBACK_BYPASS y realizará la operación en nombre del registro.
Cree una clave y compruebe que se realiza correctamente.
Anule el registro de las devoluciones de llamada.
Compruebe que cada devolución de llamada se invocó correctamente en función de su altitud.
Para ejecutar manualmente el caso de prueba CreateKey Override Access Denied
Cree una clave K1 y, a continuación, establezca su lista de control de acceso discrecional (DACL) para conceder acceso de solo lectura.
Cree una clave en K1. Esto debería producir un error debido a la DACL de solo lectura.
Registre tres de las mismas devoluciones de llamada en altitud 1000, 2000 y 3000. STATUS_CALLBACK_BYPASS.
Establezca las devoluciones de llamada 1000 y 3000 en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Establezca la devolución de llamada 2000 en modo de "omisión de acceso denegado". Esto significa que la devolución de llamada realizará la operación desde el modo de usuario, no se bloqueará mediante la DACL de solo lectura y devolverá.
Cree una clave en K1 y compruebe que se realiza correctamente.
Anule el registro de las devoluciones de llamada.
Compruebe que cada devolución de llamada se invocó correctamente en función de su altitud.
Para ejecutar manualmente el caso de prueba CreateKey Override Block
Registre cuatro de las mismas devoluciones de llamada en altitudes 1000, 2000, 3000 y 4000.
Establezca devoluciones de llamada 1000 y 4000 en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Establezca la devolución de llamada 2000 en modo "bloquear". Esto significa que la devolución de llamada devolverá STATUS_UNSUCCESSFUL.
Establezca la devolución de llamada 3000 en el modo de "error de invalidación". Esto significa que si la devolución de llamada identifica STATUS_UNSUCCESSFUL en la devolución de llamada posterior a la operación, seguirá realizando la operación y devolverá el éxito.
Cree una clave y compruebe que se realiza correctamente.
Anule el registro de las devoluciones de llamada.
Compruebe que cada devolución de llamada se invocó correctamente en función de su altitud.
Para ejecutar manualmente el caso de prueba SetKeySecurity Bypass
Registre tres de las mismas devoluciones de llamada en altitud 1000, 2000 y 3000.
Establezca devoluciones de llamada 1000 y 3000 en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Establezca la devolución de llamada 2000 en modo de "omisión". Esto significa que la devolución de llamada devolverá STATUS_CALLBACK_BYPASS y realizará la operación en nombre del registro.
Llame a RegSetKeySecurity para establecer el descriptor de seguridad de una clave y, a continuación, compruebe que se realiza correctamente.
Anule el registro de las devoluciones de llamada.
Compruebe que cada devolución de llamada se invocó correctamente en función de su altitud.
Para ejecutar manualmente el caso de prueba CreateKey Bypass de Transacted
Cree una transacción T1.
Cree una clave en el contexto de la transacción T1.
Compruebe que la clave se realiza correctamente y, a continuación, elimínela.
Registre tres de las mismas devoluciones de llamada en altitud 1000, 2000 y 3000.
Establezca devoluciones de llamada 1000 y 3000 en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Establezca la devolución de llamada 2000 en modo de "omisión". Esto significa que la devolución de llamada devolverá STATUS_CALLBACK_BYPASS y realizará la operación en nombre del registro.
Cree una clave en el contexto de la transacción T1 y compruebe que se realiza correctamente.
Confirme la transacción.
Anule el registro de las devoluciones de llamada.
Para ejecutar manualmente el caso de prueba CreateKey Bypass (sin confirmación) de Transacted
- Complete los mismos pasos que en el caso de prueba CreateKey Bypass de Transacted, pero no confirme la transacción al final.
Para ejecutar manualmente el caso de prueba Cerrar carrera del registro
Inicie un subproceso que abra una clave de prueba y cierre el identificador en un bucle.
En el subproceso original, registre y anule el registro de una devolución de llamada 100 veces.
Señale el otro subproceso que se va a salir.
Para ejecutar manualmente el caso de prueba Guardar reemplazo de restauración
Cree una clave en el subárbol de software.
Registra una devolución de llamada a la altitud 1000 y establézela en modo "monitor". Esto significa que la devolución de llamada no hará nada más que devolver STATUS_SUCCESS.
Llame a RegSaveKey en la clave creada y compruebe que se realiza correctamente.
Llame a RegRestoreKey en la clave creada mediante el archivo de hive que creó RegSaveKey y, a continuación, compruebe que se realiza correctamente.
Realice una copia del archivo de Hive.
Cargue el archivo de hive original en HKEY_LOCAL_MACHINE y, a continuación, compruebe que se realiza correctamente.
Llame a RegReplaceKey mediante la copia del archivo hive. Esto debe producir un error con una infracción de uso compartido, pero seguirá desencadenando las devoluciones de llamada para esta operación.
Anule el registro de la devolución de llamada y compruebe que se invocó correctamente.
Sintaxis de comandos
Opción de comando | Descripción |
---|---|
RegCbTestctrl.exe -regr |
Ejecuta la prueba. |
Nota
Para obtener ayuda de línea de comandos para este archivo binario de prueba, escriba /h.
Lista de archivos
Archivo | Ubicación |
---|---|
RegCbTestCtrl.exe |
[WTT\TestBinRoot]\NTTEST\BASETEST\kernel\cm |
RegCbTest.sys |
[WTT\TestBinRoot]\NTTEST\BASETEST\kernel\cm |
Ntlog.dll |
Parámetros
Nombre de parámetro | Descripción de los parámetros |
---|---|
LLU_LclAdminUser | LLU para Ejecutar |
LLU_NetAccessOnly | LLU para copiar |