0

C# 3.5 プログラムで、MS Virtual PC マシンから NTFS/FAT ドライブにアクセスしたいと考えています。

Microsoft サイトで Virtual PC 用の C++ API を確認できますが、.NET のものは見つかりません (P-Invoke を使用する必要がありますか?)。File.ReadAllText、Directory.GetDirectories などのヘルプまたは通常の .NET API 呼び出しを使用して、仮想マシン内のファイル システム内のファイルとフォルダーを調べたいと考えています。

サンプルコードをいただければ幸いです。

4

2 に答える 2

1

ホストオペレーティングシステムによっては、Windows 7 /Server2008で導入された仮想ハー​​ドディスクAPIを使用できます。.NETがサポートされていることを認識していません。私の知る限り、それにアクセスするには相互運用機能を使用する必要があります。

http://www.jmedved.com/2009/05/open-and-attach/に例があります。これは、VHDを接続するために絶対に必要な構造体/関数のみを定義しています。より完全な相互運用機能定義クラスは、http://files.codes-sources.com/fichier_fullscreen.aspx?id = 50320(Win7_VirtualDiskWrapper / VirtualDiskWrapper / Interopを参照)ディレクトリにあります。

このAPIを使用するには、管理者権限が必要であることに注意してください。

アプリケーションをWin7より古いOSで実行する必要がある場合は、私の知る限り、ここの返信/コメントで説明されているように、外部ツールを使用する必要があります。

于 2011-03-25T19:37:28.403 に答える
1

VMDKの質問と同様の質問のようです...

とにかく、WinMount($)のようなものを使用してイメージをマウントし、他のローカルドライブと同じようにアクセスできます。

MS Virtual Serverを使用している場合、もう1つのオプションはVHDMountです。

どちらにもコマンドラインツールがあり、必要に応じてアプリ内から起動できます。

于 2011-03-04T22:22:51.137 に答える