Funzione EnumerateNtmsObject (ntmsapi.h)

[Gestione archiviazione rimovibile non è più disponibile a partire da Windows 7 e Windows Server 2008 R2.]

La funzione EnumerateNtmsObject enumera gli oggetti RSM contenuti nel parametro lpContainerId .

Sintassi

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

Parametri

[in] hSession

Handle alla sessione restituita dalla funzione OpenNtmsSession .

[in] lpContainerId

Identificatore univoco del contenitore di oggetti RSM i cui oggetti devono essere enumerati. Questo parametro può essere il GUID di una libreria, un pool di supporti multimediali, un ID di partizione, un supporto fisico o un supporto logico. Per enumerare tutti gli oggetti del tipo specificato dal parametro dwType , indipendentemente dal contenitore, impostare questo parametro su NULL. Per altre informazioni sulla relazione oggetto-contenitore, vedere NtmsObjectsTypes.

[out] lpList

Buffer per la matrice di librerie, unità, supporti o altri ID oggetto RSM.

[in, out] lpdwListSize

Puntatore a una variabile che specifica il numero massimo di ID che la funzione può restituire tramite il parametro lpList . Al momento del ritorno, il numero di ID in lpList viene restituito in lpdwListSize.

[in] dwType

Tipo di oggetti da enumerare nel contenitore lpContainerId . Se lpContainerId è NULL, tutti gli oggetti di questo tipo supportati da RSM vengono enumerati. Questo parametro può essere uno dei valori seguenti dal tipo di enumerazione NtmsObjectsTypes .

Valore Significato
NTMS_CHANGER
Cambiavalute.

Il parametro lpContainerId deve essere NULL o un GUID della libreria.

NTMS_CHANGER_TYPE
Tipi di modifica.

Il parametro lpContainerId deve essere NULL.

NTMS_COMPUTER
Oggetto computer corrente.

Il parametro lpContainerId deve essere NULL.

NTMS_DRIVE
Unità.

Il parametro lpContainerId deve essere NULL o un GUID della libreria.

NTMS_DRIVE_TYPE
Tipi di unità.

Il parametro lpContainerId deve essere NULL.

NTMS_IEDOOR
Porte.

Il parametro lpContainerId deve essere NULL o un GUID della libreria.

NTMS_IEPORT
Inserire/esettare porte contenute in una libreria specificata dal parametro lpContainerId o tutte le porte insert/eject supportate da RSM se viene fornito un ID contenitore NULL .

Il parametro lpContainerId deve essere NULL o un GUID della libreria.

NTMS_LIBRARY
Oggetti libreria. Queste includono le unità di libreria fisica e la libreria offline.

Il parametro lpContainerId deve essere NULL.

NTMS_LIBREQUEST
Richieste attive della libreria (o elementi di lavoro) accodate alla libreria specificata dal parametro lpContainerId o tutti gli elementi di lavoro della libreria accodati all'interno di RSM se viene fornito un ID contenitore NULL .

Il parametro lpContainerId deve essere NULL o un GUID della libreria.

NTMS_LOGICAL_MEDIA
Oggetto multimediale logico. Si tratta di un supporto allocato a un'applicazione che potrebbe contenere più supporti fisici o un lato.

Il parametro lpContainerId deve essere NUL, un GUID del pool di supporti o un GUID di partizione.

NTMS_MEDIA_POOL
Oggetto pool di supporti che contiene parametri di configurazione e/o logici e/o fisici per gestirli. Se NULL viene specificato come ID contenitore, vengono restituiti solo i nomi di primo livello.

Il parametro lpContainerId deve essere NULL o un GUID del pool di supporti.

NTMS_MEDIA_TYPE
Oggetto tipo di supporto contenente gli attributi di un tipo di supporto supportato da RSM. L'enumerazione con un valore NULL darà tutti i tipi di supporti possibili, non solo quelli disponibili nel server corrente.

Il parametro lpContainerId deve essere NULL o un GUID della libreria.

NTMS_OPREQUEST
Richieste di operatore presenti in questo server RSM.

Il parametro lpContainerId deve essere NULL.

NTMS_PARTITION
Lato su un pezzo di supporti fisici. La parte dei supporti fisici può contenere più lati fisici, ad esempio un disco ottico contiene due lati.

Il parametro lpContainerId deve essere NULL, un GUID multimediale logico, un GUID multimediale fisico o un GUID del pool di supporti multimediali.

NTMS_PHYSICAL_MEDIA
Elemento di supporto fisico (nastro, disco ottico, CD-ROM o cartuccia magnetica). Una parte di supporti fisici può contenere più lati fisici, ad esempio lati di un disco ottico.

Il parametro lpContainerId deve essere NULL, un GUID del pool di supporti o un GUID della libreria.

NTMS_STORAGESLOT
Slot multimediali contenuti in una libreria specificata dal parametro lpContainerId o tutti gli slot di archiviazione supportati da RSM se viene fornito un ID contenitore NULL .

Il parametro lpContainerId deve essere NULL o un GUID della libreria.

[in] dwOptions

Opzioni di enumerazione. Questo è applicabile solo quando dwType è NTMS_MEDIA_POOL.

Valore Significato
NTMS_ENUM_ROOTPOOL
Questo enumera il pool radice oltre a tutti gli altri pool multimediali di primo livello; viene sempre restituito come primo GUID nell'elenco. L'enumerazione del pool radice è necessaria solo per ottenere o impostare gli attributi di sicurezza nell'oggetto. dwType deve essere NTMS_MEDIA_POOL e lpContainerId deve essere NULL.
NTMS_ENUM_DEFAULT
Non include l'enumerazione del pool radice durante l'enumerazione dei pool multimediali.
 

Windows XP: Questo parametro è riservato e deve essere impostato su zero.

Valore restituito

Questa funzione restituisce uno dei valori seguenti.

Valore Significato
ERROR_INVALID_PARAMETER
Il puntatore lpdwListSize manca o lpContainerId non è un contenitore valido per il tipo di oggetto specificato da dwType.
ERROR_INSUFFICIENT_BUFFER
Le dimensioni del buffer specificate da lpdwListSize sono troppo piccole per tutti gli oggetti trovati. La funzione tronca l'elenco e restituisce le dimensioni effettive in lpdwListSize.
ERROR_INVALID_HANDLE
L'handle di sessione non è valido o non è valido.
ERROR_NOT_ENOUGH_MEMORY
Si è verificato un errore di allocazione durante l'elaborazione.
ERROR_OBJECT_NOT_FOUND
Il GUID specificato da lpContainerId non è il GUID di qualsiasi oggetto contenitore nel database.
ERROR_SUCCESS
La funzione ha avuto esito positivo. Se lpContainerId non contiene oggetti del tipo specificato da dwType, la funzione restituisce ERROR_SUCCESS e un lpdwListSize pari a zero.

Commenti

Le funzioni di sicurezza sono disponibili anche per ottenere e impostare diritti di accesso specifici sugli oggetti RSM.

Se il numero disponibile di ID specificato nel parametro lpdwListSize è maggiore della dimensione del buffer corrente, lpdwListSize restituisce il numero di ID necessari. L'applicazione deve quindi allocare un buffer più grande e riprovare.

Poiché è possibile che gli ID vengano aggiunti da un altro processo, è possibile che una funzione successiva con un elenco ridimensionato ottenga un errore che indica che l'elenco è troppo piccolo.

Se il parametro lpContainerId è impostato su NULL, RSM enumera oggetti di primo livello, ad esempio librerie.

Se sono elencati più oggetti, l'oggetto può essere enumerato da più contenitori. Il contenitore NULL è il contenitore di livello più alto ed enumera tutti gli oggetti in un sistema. Ad esempio, è possibile enumerare i supporti in una determinata libreria o in tutti i supporti nel sistema.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ntmsapi.h
Libreria Ntmsapi.lib
DLL Ntmsapi.dll

Vedi anche

CreateNtmsMediaPool

GetNtmsObjectInformation

GetNtmsObjectSecurity

Funzioni di gestione oggetti

SetNtmsObjectInformation

SetNtmsObjectSecurity