IDiscRecorder2::ReleaseExclusiveAccess メソッド (imapi2.h)
デバイスに対する排他的アクセスを解放します。
構文
HRESULT ReleaseExclusiveAccess();
戻り値
S_OKは成功時に返されますが、実装の結果として他の成功コードが返される場合があります。 次のエラー コードは通常、操作の失敗時に返されますが、考えられる唯一のエラー値を表すわけではありません。
リターン コード | 説明 |
---|---|
|
不特定のエラー。
値: 0x80004005 |
|
必要なメモリを割り当てませんでした。
値: 0x8007000E |
|
デバイスは、タイムアウト期間内にコマンドを受け入れませんでした。 これは、デバイスが不整合な状態になったか、コマンドのタイムアウト値を増やす必要がある場合があります。
値: 0xC0AA020D |
|
指定されたハンドルが無効です。
値: 6 |
|
指定したネットワーク リソースまたはデバイスが使用できなくなりました。
値: 55 |
|
最後の操作中にこのレコーダーに関連付けられているデバイスが排他的にロックされているため、この操作は失敗します。
値: 0xC0AA0210 |
解説
各レコーダーにはロックカウントがあります。 レコーダーを最初に呼び出すと、デバイスが排他アクセス用にロックされます。 アプリケーションでは、 IDiscRecorder2::AcquireExclusiveAccess メソッドを複数回使用して、デバイスに複数のロックを適用できます。 各呼び出しでは、ロック数が 1 ずつ増加します。
レコーダーのロックを解除する場合、他のクライアントのデバイスを解放するには、ロック数が 0 に達する必要があります。 ReleaseExclusiveAccess メソッドを呼び出すと、ロックカウントが 1 ずつデクリメントされます。
デバイスを解放するには、 AcquireExclusiveAccess メソッドと ReleaseExclusiveAccess メソッドの呼び出しの数が等しい必要があります。 ロック数が 0 に達すると、記録デバイスは空きになります。最後のロックが削除されました。
要件
サポートされている最小のクライアント | Windows Vista、WINDOWS XP と SP2 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | imapi2.h |