私は、ディスクアービトレーションフレームワークを使って自分のCocoaアプリケーションでボリュームをアンマウントしようとしています。OS Xでボリュームをアンマウントしようとすると、戻り値を解釈しない
DADiskUnmount(disk,
kDADiskUnmountOptionDefault,
unmountCallback,
self);
私はのは、その後に呼び出されるコールバック関数の登録:私は反対者の戻り値を解釈しますが立ち往生してみてください。この機能で
void unmountCallback(DADiskRef disk, DADissenterRef dissenter, void *context)
{
if (dissenter != NULL)
{
DAReturn ret = DADissenterGetStatus(dissenter);
switch (ret) {
case kDAReturnBusy:
printf("kDAReturnBusy\n");
break;
}
}
を呼び出す前に
。私はそれがDAReturn型でなければならないと思って、kDAReturnBusyのような値を持っています。 iTunesがそのボリュームを使用していて、アンマウントできません。「ret」の値が0xc010で、わかりません。
アンマウントが失敗した場合は、ボリュームをアンマウントできない理由と、別のアプリケーションを使用している場合に、このアプリケーションを終了するようユーザーに思い出させる理由を知りたい場合があります。
(あなたにすべての新しいシステムの男はいくつかの点で表示されるはず思いやりのウォークスルーのための余分なポイントを与えたいと思います。) –
質問に報奨金を提供すること自由に感じ@quixoto、その後、ピーターにそれを授与:) –
はあなたに感謝しますあなたの包括的な答えのために、非常に多くのピーターです。これはまさに私が探していた情報です! – JLinX