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