3

ユーザースペースとカーネルコンポーネントの両方を備えたレガシーWindowsアプリケーションを維持しています。ユーザースペースは、レジストリキーを介していくつかのファイルパスをデバイスドライバーに渡します。

現在、コードはファイルへのフルパスを見つけ、\??\レジストリに書き込む前にファイルの先頭に追加するため、パスはのようになります\??\C:\foo.bar。ドライバーはこのパスをInitializeObjectAttributes()ZwCreateFile()に渡します。これにより、ファイルが正常に開かれます(または必要に応じて作成されます)。

\\.\のエイリアスとしてのプレフィックスについてはよく知っていますが、ではあり\DosDevices\ませ\??\ん。Googleで検索できるようなものではありません。これが何を意味するのか誰か知っていますか?

4

1 に答える 1

2

これは、ブートプロセス中に作成される名前空間サブディレクトリです。その中には、Win32APIによってアクセス可能なリソースへのリンクがあります。システムが完全に起動する前の起動中に、そのパスが参照されている場合、\??\を配置しないと解決されない場合があります。

于 2013-01-23T15:16:37.727 に答える