どのように伝えれば、指定されたパスを取り付けリムーバブルメディアはMac OS X?

StackOverflow https://stackoverflow.com/questions/1698124

質問

れるパスは、Mac OS Xのようなものだということを保証するも搭載のCDやDVDに対して通常のディレクトリ、ファイル、または取付けDMGまたはその他のマウント可能ファイルの種類?具体的には知りたいと思い場合はCDまたはDVDがユーザーの供給にパスを直接またはNSOpenPanel、ユCDのアプリです。いが必要なアクション。

役に立ちましたか?

解決

クリンゴの VolumeToBSDNode 例のコードです。このコードをビットがあります。

説明

方に対して繰り返し処理を実行する全ての搭載量を取得するBSDノードの名前(/dev/ディスク*)。その情報を使用する場合にはCD、DVD、その他の記憶媒体.

としてのケントポイントの PBHGetVolParmsSync 呼この例では推奨されていません。このdiffの新機能:

-            HParamBlockRec pb;

-            // Use the volume reference number to retrieve the volume parameters. See the documentation
-            // on PBHGetVolParmsSync for other possible ways to specify a volume.
-            pb.ioParam.ioNamePtr = NULL;
-            pb.ioParam.ioVRefNum = actualVolume;
-            pb.ioParam.ioBuffer = (Ptr) &volumeParms;
-            pb.ioParam.ioReqCount = sizeof(volumeParms);
-            
-            // A version 4 GetVolParmsInfoBuffer contains the BSD node name in the vMDeviceID field.
-            // It is actually a char * value. This is mentioned in the header CoreServices/CarbonCore/Files.h.
-            result = PBHGetVolParmsSync(&pb);
+            // Use FSGetVolumeParms instead of the deprecated PBHGetVolParmsSync
+            result = FSGetVolumeParms(actualVolume, &volumeParms, sizeof(volumeParms));
+
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top