1

インターフェイスを使用してIShellFolder、シェルの名前空間オブジェクトを列挙しています。これを行うと、マップされたネットワークドライブが取得されます。そのうちのいくつかは接続されて利用可能であり、他はそうではありません.

特定のマップされたドライブが使用可能かどうかを検出する方法を知りたいです。使用できるメソッド、シェル関数、または属性はありますか?

メソッドを使用IShellFolder.GetAttributesOf()してドライブのさまざまな属性を取得していますが、これを示すものは何も表示されません。

4

1 に答える 1

1

マップされたドライブが切断されている場合、GetLogicalDrives関数によって返されるビットマスクには表示されません。

例えば、

wchar_t wchDriveLetter = L'P'; // example
int iDriveNumber = towupper(wchDriveLetter) - L'A';
bool fIsDisconnected = ( GetLogicalDrives() & ( 1 << iDriveNumber ) ) == 0;
于 2012-09-04T07:54:33.097 に答える