EjectNtmsMedia 関数 (ntmsapi.h)
[リムーバブル 記憶域マネージャー は、Windows 7 および Windows Server 2008 R2 以降では使用できません。
EjectNtmsMedia 関数は、現在のライブラリのポートから指定されたメディアを取り出します。 ライブラリがビジー状態の場合、RSM は EjectNtmsMedia をキューに入れ、成功を返します。
構文
DWORD EjectNtmsMedia(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpMediaId,
[in, out] LPNTMS_GUID lpEjectOperation,
[in] DWORD dwAction
);
パラメーター
[in] hSession
OpenNtmsSession 関数によって返されるセッションを処理します。
[in] lpMediaId
物理メディアの一意識別子 (PMID)。
[in, out] lpEjectOperation
取り出しプロセス ライブラリ要求の GUID。 dwAction がNTMS_EJECT_START場合、このパラメーターは操作の GUID を受け取ります。 dwAction がNTMS_EJECT_STOP場合、操作を停止するには、このパラメーターを GUID に設定する必要があります。 このパラメーターは、NTMS_EJECT_QUEUEでは使用されません。
[in] dwAction
実行するアクション。 このパラメーターには、次の値のいずれかを指定できます。
戻り値
この関数は、次のいずれかの値を返します。
値 | 意味 |
---|---|
|
ライブラリへのNTMS_CONTROL_ACCESSは拒否されます。 その他のセキュリティ エラーも考えられますが、セキュリティ サブシステム エラーを示します。 |
|
NTMS_IEPORT オブジェクトで使用可能なスロットよりも多くのメディアがキューに入れられました。 |
|
データベースにアクセスできないか、破損しています。 |
|
データベースがいっぱいです。 |
|
ライブラリが無効になっています。 |
|
セッション ID が見つからないか、無効です。 |
|
無効な操作 ID に対して停止が実行されました。 |
|
ライブラリ ID または操作 ID ポインターがありません。 |
|
ライブラリ ID は、メディアを取り出すことができないオフライン ライブラリを参照します。 |
|
メディアが無効になっています。 |
|
処理中に割り当てエラーが発生しました。 |
|
取り出しはキューに入れられます。 |
注釈
EjectNtmsMedia 関数は、取り出し要求がキューに登録されるとすぐにアプリケーションに戻ります。
EjectNtmsMedia 関数を使用して取り出されたメディアは、オフライン ライブラリに移動されるか、データベースから削除されます。 クリーナー カートリッジ、インポート メディア、認識されないメディア、および互換性のないメディアは、取り出されると削除されます。
NTMS_EJECT_QUEUE フラグは、マルチスロット ライブラリへの排出用にマークされたメディアをバンドルまたはバッチするために使用されます。 アプリケーションが必要なすべてのメディアをキューに入れたときに、キュー アクションを使用してメディアをキューに入れます。 アプリケーションは start コマンドを使用して、物理取り出し操作を開始します。 NTMS_IEPORT オブジェクト内のスロットよりも多くのメディアがキューに登録されている場合、 EjectNtmsMedia はERROR_BUSYを返します。 物理取り出し操作を開始するために、アプリケーションは最後のメディア ID または NULL でNTMS_EJECT_STARTを使用できます。
メディアが現在使用されている (マウントされているか開かれている) 場合、この関数はエラーを返します。
ライブラリにポートがない場合は、 AccessNtmsLibraryDoor 関数を使用してメディアを挿入および取り出します。
EjectNtmsMedia 関数は、オフライン ライブラリでは機能しません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntmsapi.h |
Library | Ntmsapi.lib |
[DLL] | Ntmsapi.dll |