2017-03-23 10 views
0

これはテストKMDFプロジェクトです。それはレジストリを読み書きする機能です。カーネルドライバが例外をスローしたときにレジストリ値を更新できないのはなぜですか?

ケース1:

1.readレジストリ値と値がウィンドウ内

2.Checkレジストリをレジストリに書き込むには、値を更新しました。

ケース2:

1.readレジストリ値と、レジストリ最後に例外を追加するために値を書き込みます。ブートウィンドウでBSODが発生する

2.例外の削除、ブートウィンドウ、レジストリのチェック、値は更新されません。

これは私が使用する例外コードです。

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

私は2つのレジストリパスを試しています。

HKEY_LOCAL_MACHINE \ SOFTWARE \ DELL \テスト(通常パス)

ます。HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Servicesの\のTEST(サービス・パス)レジストリキーを更新できない理由

答えて

0

理由に、それはに取得する必要があります特定のポイントは、ブートの変更を保存する。あるドライバで例外が発生しても、それは保存されません。

関連する問題