OSXシステム上の物理ストレージデバイスのリストを取得する必要があります。kIOStorageClassキーを使用するIOServiceGetMatchingServicesは、すべてのハードウェアストレージデバイスではなく、すべてのボリュームのリストを提供します。どうすればよいですか?
1361 次
2 に答える
0
物理ストレージ デバイスのリストを取得するには、kIOATABlockStorageDeviceClass に一致させることができます。次のコードは、ブロック ストレージ デバイスの反復子を取得します。
IOReturn error = kIOReturnSuccess;
io_iterator_t iter = MACH_PORT_NULL;
error = IOServiceGetMatchingServices ( kIOMasterPortDefault,
IOServiceMatching ( kIOATABlockStorageDeviceClass ),
&iter );
于 2013-05-09T06:30:17.950 に答える
0
質問は少しあいまいです (ドライブ全体、パーティション、上記のすべてが必要ですか?)、IORegistryExplorerユーティリティ (XCode に付属) を起動して、必要なデバイスのクラスを特定することをお勧めします。通常、各ドライブ全体が に対応していると言えるIOBlockStorageDriver
ので、おそらくそれが一致させたいクラスです。次に、IOMedia
デバイス全体を表すクライアントがあります。IOMedia
次に、パーティション分割されていない限り、パーティションごとにクライアントを持つパーティションスキームクライアントがあります。
于 2011-10-29T10:43:11.367 に答える