InjectNtmsCleaner 関数 (ntmsapi.h)
[リムーバブル 記憶域マネージャー は、Windows 7 および Windows Server 2008 R2 以降では使用できません。
InjectNtmsCleaner 関数を使用すると、指定されたライブラリー・ユニットにクリーナー・カートリッジを挿入できます。
構文
DWORD InjectNtmsCleaner(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpLibrary,
[in, out] LPNTMS_GUID lpInjectOperation,
[out] DWORD dwNumberOfCleansLeft,
[in] DWORD dwAction
);
パラメーター
[in] hSession
OpenNtmsSession 関数によって返されるセッションを処理します。
[in] lpLibrary
ライブラリ オブジェクトの一意識別子。
[in, out] lpInjectOperation
挿入プロセス ライブラリ操作の GUID。 dwAction がNTMS_INJECT_STARTの場合、このパラメーターは操作の GUID を受け取ります。 dwAction がNTMS_INJECT_STOP場合、操作を停止するには、このパラメーターを GUID に設定する必要があります。
[out] dwNumberOfCleansLeft
挿入されたクリーニング・カートリッジに残されたクリーニング・サイクルの数。
[in] dwAction
このパラメーターには、次の値のいずれかを指定できます。
戻り値
この関数は、次のいずれかの値を返します。
値 | 意味 |
---|---|
|
少なくとも 1 つの RSM オブジェクトへのアクセスが拒否されます。 |
|
ライブラリは現在接続されていません。 |
|
hSession パラメーターで指定された値が無効です。 |
|
データベースからライブラリ定義を取得できません。 |
|
クリーナー・カートリッジを挿入するには、ライブラリーがオンラインでなければなりません。 |
|
このライブラリには、クリーナー スロットとして予約されているスロットはありません。 |
|
クリーナー スロットは予約されていますが、既にクリーナー カートリッジが用意されています。 クリーナー・カートリッジは、 最初に、EjectNtmsCleaner 機能を使用して取り出す必要があります。 |
|
クリーナー スロットは予約されていますが、指定されたスロットは現在ライブラリにインストールされていません。 このエラーは、ライブラリに少なくとも 1 つのマガジンがない場合に発生します。 |
|
関数は成功しました。 |
注釈
この関数は、挿入要求がキューに登録されるとすぐにアプリケーションに戻ります。
InjectNtmsCleaner 機能を使用するには、クリーナー・カートリッジ上に残っているクリーニング・サイクルの数を指定して、RSM がこれを追跡できるようにする必要があります。
NTMS_IEPORT オブジェクトが使用可能な場合、NTMS_IEPORT オブジェクトはカートリッジを現在予約されているクリーナー スロットに送ります。
NTMS_IEPORT オブジェクトがない場合は、ドア アクセスが実行されます。 この場合、オペレーターはメディアを予約済みスロットに配置するように指示されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntmsapi.h |
Library | Ntmsapi.lib |
[DLL] | Ntmsapi.dll |