Dim DeviceQuery As System.Management.SelectQuery Dim DeviceSearch As System.Management.ManagementObjectSearcher Dim DeviceInfo As System.Management.ManagementObject
DeviceQuery = New System.Management.SelectQuery("Win32_CDROMDrive") DeviceSearch = New System.Management.ManagementObjectSearcher(DeviceQuery)
For Each DeviceInfo In DeviceSearch.Get() If CBool(DeviceInfo("MediaLoaded")) Then Return DeviceInfo("Drive").ToString '表記[D:] End If Next
分類:[.NET]
いつも勉強させていただいております。
現在、CDから写真などのデータを読み込むために、下記のようなコードで
CDドライバを取得しております。
Dim DeviceQuery As System.Management.SelectQuery
Dim DeviceSearch As System.Management.ManagementObjectSearcher
Dim DeviceInfo As System.Management.ManagementObject
DeviceQuery = New System.Management.SelectQuery("Win32_CDROMDrive")
DeviceSearch = New System.Management.ManagementObjectSearcher(DeviceQuery)
For Each DeviceInfo In DeviceSearch.Get()
If CBool(DeviceInfo("MediaLoaded")) Then
Return DeviceInfo("Drive").ToString '表記[D:]
End If
Next
ところが、DeviceSearch.Getを実行した地点でManagementExceptionが発生してしまいます。
ManagementExceptionのErrorCodeをみてみたところ、
ProviderFailure "初期化後に、プロバイダにエラーが発生しました。"
ということらしいのですが、このエラーがどういったときに発生するのかがわからず困っております。
手元にない機体でエラーが発生しているため、エラーを再現したいのですが、それすらままなりません。
何かご存じの方がおられましたら宜しくお願い申し上げます。