IDiscRecorder2::ReleaseExclusiveAccess メソッド (imapi2.h)

デバイスに対する排他的アクセスを解放します。

構文

HRESULT ReleaseExclusiveAccess();

戻り値

S_OKは成功時に返されますが、実装の結果として他の成功コードが返される場合があります。 次のエラー コードは通常、操作の失敗時に返されますが、考えられる唯一のエラー値を表すわけではありません。

リターン コード 説明
E_FAIL
不特定のエラー。

値: 0x80004005

E_OUTOFMEMORY
必要なメモリを割り当てませんでした。

値: 0x8007000E

E_IMAPI_RECORDER_COMMAND_TIMEOUT
デバイスは、タイムアウト期間内にコマンドを受け入れませんでした。 これは、デバイスが不整合な状態になったか、コマンドのタイムアウト値を増やす必要がある場合があります。

値: 0xC0AA020D

HRESULT_FROM_WIN32(ERROR_INVALID_HANDLE)
指定されたハンドルが無効です。

値: 6

HRESULT_FROM_WIN32(ERROR_DEV_NOT_EXIST)
指定したネットワーク リソースまたはデバイスが使用できなくなりました。

値: 55

E_IMAPI_RECORDER_LOCKED
最後の操作中にこのレコーダーに関連付けられているデバイスが排他的にロックされているため、この操作は失敗します。

値: 0xC0AA0210

解説

各レコーダーにはロックカウントがあります。 レコーダーを最初に呼び出すと、デバイスが排他アクセス用にロックされます。 アプリケーションでは、 IDiscRecorder2::AcquireExclusiveAccess メソッドを複数回使用して、デバイスに複数のロックを適用できます。 各呼び出しでは、ロック数が 1 ずつ増加します。

レコーダーのロックを解除する場合、他のクライアントのデバイスを解放するには、ロック数が 0 に達する必要があります。 ReleaseExclusiveAccess メソッドを呼び出すと、ロックカウントが 1 ずつデクリメントされます。

デバイスを解放するには、 AcquireExclusiveAccess メソッドと ReleaseExclusiveAccess メソッドの呼び出しの数が等しい必要があります。 ロック数が 0 に達すると、記録デバイスは空きになります。最後のロックが削除されました。

要件

   
サポートされている最小のクライアント Windows Vista、WINDOWS XP と SP2 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー imapi2.h

関連項目

IDiscRecorder2

IDiscRecorder2::AcquireExclusiveAccess

IDiscRecorder2::get_ExclusiveAccessOwner