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 .
[in] dwOptions
Opzioni di enumerazione. Questo è applicabile solo quando dwType è NTMS_MEDIA_POOL.
Windows XP: Questo parametro è riservato e deve essere impostato su zero.
Valore restituito
Questa funzione restituisce uno dei valori seguenti.
Valore | Significato |
---|---|
|
Il puntatore lpdwListSize manca o lpContainerId non è un contenitore valido per il tipo di oggetto specificato da dwType. |
|
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. |
|
L'handle di sessione non è valido o non è valido. |
|
Si è verificato un errore di allocazione durante l'elaborazione. |
|
Il GUID specificato da lpContainerId non è il GUID di qualsiasi oggetto contenitore nel database. |
|
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 |