次の方法で共有


EnumerateNtmsObject 関数 (ntmsapi.h)

[リムーバブル 記憶域マネージャー は、Windows 7 および Windows Server 2008 R2 以降では使用できません。

EnumerateNtmsObject 関数は、lpContainerId パラメーターに含まれる RSM オブジェクトを列挙します。

構文

DWORD EnumerateNtmsObject(
  [in]      HANDLE            hSession,
  [in]      const LPNTMS_GUID lpContainerId,
  [out]     LPNTMS_GUID       lpList,
  [in, out] LPDWORD           lpdwListSize,
  [in]      DWORD             dwType,
  [in]      DWORD             dwOptions
);

パラメーター

[in] hSession

OpenNtmsSession 関数によって返されるセッションを処理します。

[in] lpContainerId

オブジェクトを列挙する RSM オブジェクト コンテナーの一意識別子。 このパラメーターには、ライブラリ、メディア プール、パーティション ID、物理メディア、または論理メディアの GUID を指定できます。 コンテナーに関係なく 、dwType パラメーターで指定された型のすべてのオブジェクトを列挙するには、このパラメーターを NULL に設定します。 オブジェクトとコンテナーのリレーションシップの詳細については、「 NtmsObjectsTypes」を参照してください。

[out] lpList

ライブラリ、ドライブ、メディア、またはその他の RSM オブジェクト ID の配列のバッファー。

[in, out] lpdwListSize

lpList パラメーターを使用して関数が返すことができる ID の最大数を指定する変数へのポインター。 戻り時刻には、 lpList 内の ID の数が lpdwListSize で返されます。

[in] dwType

lpContainerId コンテナーで列挙するオブジェクトの型。 lpContainerIdNULL の場合、RSM でサポートされているこの型のすべてのオブジェクトが列挙されます。 このパラメーターには、 NtmsObjectsTypes 列挙型の次のいずれかの値を指定できます。

意味
NTMS_CHANGER
チェンジャー。

lpContainerId パラメーターは NULL またはライブラリ GUID である必要があります。

NTMS_CHANGER_TYPE
Changer 型。

lpContainerId パラメーターは NULL である必要があります。

NTMS_COMPUTER
現在のコンピューター オブジェクト。

lpContainerId パラメーターは NULL である必要があります。

NTMS_DRIVE
ドライブ。

lpContainerId パラメーターは NULL またはライブラリ GUID である必要があります。

NTMS_DRIVE_TYPE
ドライブの種類。

lpContainerId パラメーターは NULL である必要があります。

NTMS_IEDOOR
ドア。

lpContainerId パラメーターは NULL またはライブラリ GUID である必要があります。

NTMS_IEPORT
lpContainerId パラメーターで指定されたライブラリに含まれるポートの挿入/取り出し、または NULL コンテナー ID が指定されている場合は RSM でサポートされるすべての挿入/取り出しポート。

lpContainerId パラメーターは NULL またはライブラリ GUID である必要があります。

NTMS_LIBRARY
ライブラリ オブジェクト。 これには、物理ライブラリ ユニットとオフライン ライブラリが含まれます。

lpContainerId パラメーターは NULL である必要があります。

NTMS_LIBREQUEST
lpContainerId パラメーターで指定されたライブラリーにキューに入れられたライブラリー活動要求 (または作業項目)、または NULL コンテナー ID が指定されている場合は RSM 内でキューに入れられたすべてのライブラリー作業項目。

lpContainerId パラメーターは NULL またはライブラリ GUID である必要があります。

NTMS_LOGICAL_MEDIA
論理メディア オブジェクト。 これは、複数の側または物理メディアを含む可能性があるアプリケーションに割り当てられたメディアです。

lpContainerId パラメーターは、NUL、メディア プール GUID、またはパーティション GUID である必要があります。

NTMS_MEDIA_POOL
論理メディアや物理メディア、およびそれらを管理するための構成パラメーターを含むメディア プール オブジェクト。 コンテナー ID として NULL が指定されている場合は、最上位の名前のみが返されます。

lpContainerId パラメーターは NULL またはメディア プール GUID である必要があります。

NTMS_MEDIA_TYPE
RSM でサポートされているメディアの種類の属性を含むメディア型オブジェクト。 NULL を使用して列挙すると、現在のサーバーで使用できるメディアの種類だけでなく、使用可能なすべてのメディアの種類が提供されます。

lpContainerId パラメーターは NULL またはライブラリ GUID である必要があります。

NTMS_OPREQUEST
この RSM サーバー上にあるオペレーター要求。

lpContainerId パラメーターは NULL である必要があります。

NTMS_PARTITION
物理的なメディアの一部に横。 物理メディアの一部には、複数の物理側を含めることができます (たとえば、光ディスクには 2 つの側面が含まれています)。

lpContainerId パラメーターは、NULL、論理メディア GUID、物理メディア GUID、またはメディア プール GUID である必要があります。

NTMS_PHYSICAL_MEDIA
物理メディア (テープ、光ディスク、CD-ROM、または磁気カートリッジ) の項目。 物理メディアの一部には、複数の物理側 (光ディスクの側面など) を含めることができます。

lpContainerId パラメーターは、NULL、メディア プール GUID、またはライブラリ GUID である必要があります。

NTMS_STORAGESLOT
lpContainerId パラメーターで指定されたライブラリに含まれるメディア スロット、または NULL コンテナー ID が指定されている場合は RSM でサポートされるすべてのストレージ スロット。

lpContainerId パラメーターは NULL またはライブラリ GUID である必要があります。

[in] dwOptions

列挙オプション。 これは、 dwType がNTMS_MEDIA_POOLされている場合にのみ適用されます。

意味
NTMS_ENUM_ROOTPOOL
これにより、他のすべての最上位メディア プールに加えて、ルート プールが列挙されます。リストの最初の GUID として常に返されます。 ルート プールの列挙は、オブジェクトのセキュリティ属性を取得または設定するためにのみ必要です。 dwType はNTMS_MEDIA_POOLする必要があり、 lpContainerId はNULL である必要があります。
NTMS_ENUM_DEFAULT
メディア プールを列挙する場合、ルート プールの列挙は含まれません。
 

Windows XP: このパラメーターは予約済みであり、0 に設定する必要があります。

戻り値

この関数は、次のいずれかの値を返します。

意味
ERROR_INVALID_PARAMETER
lpdwListSize ポインターがないか、lpContainerIddwType で指定されたオブジェクト型の有効なコンテナーではありません。
ERROR_INSUFFICIENT_BUFFER
lpdwListSize で指定されたバッファー サイズが、見つかったすべてのオブジェクトに対して小さすぎます。 関数はリストを切り捨て、 lpdwListSize の実際のサイズを返します。
ERROR_INVALID_HANDLE
セッション ハンドルがないか、無効です。
ERROR_NOT_ENOUGH_MEMORY
処理中に割り当てエラーが発生しました。
ERROR_OBJECT_NOT_FOUND
lpContainerId で指定された GUID は、データベース内のコンテナー オブジェクトの GUID ではありません。
ERROR_SUCCESS
関数は成功しました。 lpContainerIddwType で指定された型のオブジェクトが含まれない場合、この関数は ERROR_SUCCESSと lpdwListSize を 0 で返します。

注釈

セキュリティ機能を使用して、RSM オブジェクトに対する特定のアクセス権を取得および設定することもできます。

lpdwListSize パラメーターで指定された ID の使用可能な数が現在のバッファー サイズを超える場合、lpdwListSize は必要な ID の数を返します。 アプリケーションでは、より大きなバッファーを割り当ててから、もう一度やり直す必要があります。

ID は別のプロセスによって追加される可能性があるため、リストのサイズが変更された後続の関数で、リストが小さすぎることを示すエラーが発生する可能性があります。

lpContainerId パラメーターが NULL に設定されている場合、RSM は最上位のオブジェクト (ライブラリなど) を列挙します。

複数のオブジェクトが一覧表示されている場合、オブジェクトは複数のコンテナーから列挙できます。 NULL コンテナーは最上位レベルのコンテナーであり、システム内のすべてのオブジェクトを列挙します。 たとえば、特定のライブラリ内のメディアやシステム内のすべてのメディアを列挙できます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntmsapi.h
Library Ntmsapi.lib
[DLL] Ntmsapi.dll

こちらもご覧ください

CreateNtmsMediaPool

GetNtmsObjectInformation

GetNtmsObjectSecurity

オブジェクト管理機能

SetNtmsObjectInformation

SetNtmsObjectSecurity