2017-03-23 2 views
0

Ceci est un projet de test KMDF. sa fonction est de lire et d'écrire le registre.pourquoi le pilote de noyau ne peut pas mettre à jour la valeur de Registre lorsqu'il lance une exception?

Cas1:

1.read une valeur de Registre et écrire une valeur au Registre

Registre 2.Vérifier dans les fenêtres, la valeur mise à jour.

Case2:

1.read une valeur de registre et d'écrire une valeur de registre, ajoutez exception à la fin. BSOD se produit lorsque les fenêtres de démarrage

2. supprimer l'exception, démarrer les fenêtres, vérifier le registre, la valeur n'est pas mise à jour.

Voici le code d'exception que j'utilise.

void GoException() 
    { 
    PDRIVER_OBJECT obj = NULL; 
    obj->DeviceObject->CurrentIrp = NULL; 
    } 

J'ai essayé deux chemin de registre.

HKEY_LOCAL_MACHINE \ SOFTWARE \ DELL \ test (chemin normal)

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ TEST (chemin de service)

Répondre

0

la raison pour laquelle la clé de Registre ne peut pas mis à jour, il faut se rendre à un certain point pour enregistrer les modifications au démarrage. Exception dans un pilote, il peut ne pas enregistré.