Freigeben über


EnumerateNtmsObject-Funktion (ntmsapi.h)

[Wechseldatenträger-Manager ist ab Windows 7 und Windows Server 2008 R2 nicht mehr verfügbar.]

Die EnumerateNtmsObject-Funktion listet die RSM-Objekte auf, die im lpContainerId-Parameter enthalten sind.

Syntax

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

Parameter

[in] hSession

Handle für die von der OpenNtmsSession-Funktion zurückgegebene Sitzung.

[in] lpContainerId

Eindeutiger Bezeichner des RSM-Objektcontainers, dessen Objekte aufgelistet werden sollen. Dieser Parameter kann die GUID einer Bibliothek, eines Medienpools, einer Partitions-ID, physischer Medien oder logischer Medien sein. Um alle Objekte des vom dwType-Parameter angegebenen Typs aufzulisten, unabhängig vom Container, legen Sie diesen Parameter auf NULL fest. Weitere Informationen zur Objekt-Container-Beziehung finden Sie unter NtmsObjectsTypes.

[out] lpList

Puffer für das Array von Bibliotheken, Laufwerken, Medien oder anderen RSM-Objekt-IDs.

[in, out] lpdwListSize

Zeiger auf eine Variable, die die maximale Anzahl von IDs angibt, die die Funktion über den lpList-Parameter zurückgeben kann. Zur Rückgabezeit wird die Anzahl der IDs in lpList in lpdwListSize zurückgegeben.

[in] dwType

Typ der Objekte, die im Container lpContainerId aufgelistet werden sollen. Wenn lpContainerIdNULL ist, werden alle von RSM unterstützten Objekte dieses Typs aufgelistet. Dieser Parameter kann einer der folgenden Werte aus dem NtmsObjectsTypes-Enumerationstyp sein.

Wert Bedeutung
NTMS_CHANGER
Wechsler.

Der lpContainerId-Parameter muss NULL oder eine Bibliotheks-GUID sein.

NTMS_CHANGER_TYPE
Changertypen.

Der lpContainerId-Parameter muss NULL sein.

NTMS_COMPUTER
Aktuelles Computerobjekt.

Der lpContainerId-Parameter muss NULL sein.

NTMS_DRIVE
Laufwerke.

Der lpContainerId-Parameter muss NULL oder eine Bibliotheks-GUID sein.

NTMS_DRIVE_TYPE
Laufwerktypen.

Der lpContainerId-Parameter muss NULL sein.

NTMS_IEDOOR
Türen.

Der lpContainerId-Parameter muss NULL oder eine Bibliotheks-GUID sein.

NTMS_IEPORT
Einfügen/Auswerfen von Ports, die in einer Bibliothek enthalten sind, die durch den lpContainerId-Parameter oder alle von RSM unterstützten Einfüge-/Auswerfports angegeben wird, wenn eine NULL-Container-ID angegeben wird.

Der lpContainerId-Parameter muss NULL oder eine Bibliotheks-GUID sein.

NTMS_LIBRARY
Bibliotheksobjekte. Dazu gehören die physischen Bibliothekseinheiten und die Offlinebibliothek.

Der lpContainerId-Parameter muss NULL sein.

NTMS_LIBREQUEST
Aktive Bibliotheksanforderungen (oder Arbeitselemente) in der Warteschlange für die bibliothek, die durch den lpContainerId-Parameter angegeben wird, oder alle Bibliotheksarbeitselemente, die in RSM in die Warteschlange gestellt werden, wenn eine NULL-Container-ID angegeben wird.

Der lpContainerId-Parameter muss NULL oder eine Bibliotheks-GUID sein.

NTMS_LOGICAL_MEDIA
Logisches Medienobjekt. Dies ist ein Medium, das einer Anwendung zugeordnet ist und möglicherweise mehr als eine Seite oder einen Teil physischer Medien enthalten kann.

Der lpContainerId-Parameter muss NUL, eine Medienpool-GUID oder eine Partitions-GUID sein.

NTMS_MEDIA_POOL
Medienpoolobjekt, das logische und/oder physische Medien und Konfigurationsparameter für deren Verwaltung enthält. Wenn NULL als Container-ID angegeben wird, werden nur die Namen der obersten Ebene zurückgegeben.

Der lpContainerId-Parameter muss NULL oder eine Medienpool-GUID sein.

NTMS_MEDIA_TYPE
Medientypobjekt, das die Attribute eines Mediumtyps enthält, der von RSM unterstützt wird. Beim Aufzählen mit NULL werden alle möglichen Medientypen angezeigt, nicht nur die auf dem aktuellen Server verfügbaren.

Der lpContainerId-Parameter muss NULL oder eine Bibliotheks-GUID sein.

NTMS_OPREQUEST
Operatoranforderungen, die sich auf diesem RSM-Server befinden.

Der lpContainerId-Parameter muss NULL sein.

NTMS_PARTITION
Seite auf einem Stück physischer Medien. Der Teil physischer Medien kann mehrere physische Seiten enthalten (z. B. enthält ein optischer Datenträger zwei Seiten).

Der lpContainerId-Parameter muss NULL, eine logische Medien-GUID, eine GUID für physische Medien oder eine Medienpool-GUID sein.

NTMS_PHYSICAL_MEDIA
Physische Medien (Band, optischer Datenträger, CD-ROM oder Magnetkassette). Ein Teil physischer Medien kann mehrere physische Seiten (z. B. Seiten eines optischen Datenträgers) enthalten.

Der lpContainerId-Parameter muss NULL, eine Medienpool-GUID oder eine Bibliotheks-GUID sein.

NTMS_STORAGESLOT
Medienslots, die in einer Bibliothek enthalten sind, die durch den lpContainerId-Parameter oder alle von RSM unterstützten Speicherslots angegeben wird, wenn eine NULL-Container-ID angegeben wird.

Der lpContainerId-Parameter muss NULL oder eine Bibliotheks-GUID sein.

[in] dwOptions

Enumerationsoptionen. Dies gilt nur, wenn dwType NTMS_MEDIA_POOL ist.

Wert Bedeutung
NTMS_ENUM_ROOTPOOL
Dadurch werden der Stammpool zusätzlich zu allen anderen Medienpools der obersten Ebene aufgelistet. es wird immer als erste GUID in der Liste zurückgegeben. Das Auflisten des Stammpools ist nur erforderlich, um die Sicherheitsattribute für das Objekt abzurufen oder festzulegen. dwType muss NTMS_MEDIA_POOL und lpContainerIdnull sein.
NTMS_ENUM_DEFAULT
Enthält keine Enumeration des Stammpools, wenn die Medienpools aufgelistet werden.
 

Windows XP: Dieser Parameter ist reserviert und muss auf null festgelegt werden.

Rückgabewert

Diese Funktion gibt einen der folgenden Werte zurück.

Wert Bedeutung
ERROR_INVALID_PARAMETER
Der lpdwListSize-Zeiger fehlt, oder lpContainerId ist kein gültiger Container für den durch dwType angegebenen Objekttyp.
ERROR_INSUFFICIENT_BUFFER
Die von lpdwListSize angegebene Puffergröße ist für alle gefundenen Objekte zu klein. Die Funktion schneidet die Liste ab und gibt die tatsächliche Größe in lpdwListSize zurück.
ERROR_INVALID_HANDLE
Das Sitzungshandle fehlt oder ist ungültig.
ERROR_NOT_ENOUGH_MEMORY
Während der Verarbeitung ist ein Zuordnungsfehler aufgetreten.
ERROR_OBJECT_NOT_FOUND
Die von lpContainerId angegebene GUID ist nicht die GUID eines Containerobjekts in der Datenbank.
ERROR_SUCCESS
Die Funktion war erfolgreich. Wenn lpContainerId keine Objekte des durch dwType angegebenen Typs enthält, gibt die Funktion ERROR_SUCCESS und eine lpdwListSize von 0 zurück.

Hinweise

Sicherheitsfunktionen sind auch verfügbar, um bestimmte Zugriffsrechte für RSM-Objekte abzurufen und festzulegen.

Wenn die im parameter lpdwListSize angegebene verfügbare Anzahl von IDs größer als die aktuelle Puffergröße ist, gibt lpdwListSize die anzahl der erforderlichen IDs zurück. Die Anwendung sollte dann einen größeren Puffer zuweisen und es erneut versuchen.

Da IDs von einem anderen Prozess hinzugefügt werden können, ist es möglich, dass eine nachfolgende Funktion mit einer liste mit geänderter Größe einen Fehler erhält, der darauf hinweist, dass die Liste zu klein ist.

Wenn der lpContainerId-Parameter auf NULL festgelegt ist, zählt RSM Objekte der obersten Ebene (z. B. Bibliotheken) auf.

Wenn mehr als ein Objekt aufgeführt ist, kann das Objekt aus mehreren Containern aufgezählt werden. Der NULL-Container ist der Container der höchsten Ebene und listet alle Objekte in einem System auf. Beispielsweise können Sie Medien in einer bestimmten Bibliothek oder allen Medien im System auflisten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ntmsapi.h
Bibliothek Ntmsapi.lib
DLL Ntmsapi.dll

Weitere Informationen

CreateNtmsMediaPool

GetNtmsObjectInformation

GetNtmsObjectSecurity

Objektverwaltungsfunktionen

SetNtmsObjectInformation

SetNtmsObjectSecurity