Windows Vista+ では、BCD ブート データはレジストリの下に保存されますHKEY_LOCAL_MACHINE\BCD00000000
。BCDEDIT コマンド ライン ツールは、そのデータを読み取り可能な形式で表示するだけです。
理論的には、管理者として実行されるユーザー プログラム アプリケーションは、BCDEDIT.EXE と同じ方法でそのストアを編集できるはずですよね?
DWORD result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("BCD00000000\\Objects\\..."), 0, KEY_SET_VALUE, &hKey);
それでも、これを(管理者アカウントで)実行すると、結果の値は 0x5 (アクセスが拒否されました) になります。
ここに欠けているものはありますか、それとも BCDEDIT を呼び出さずにプログラムで BCD データを編集できるアプリケーションを作成する方法がありませんか?