Funzione SetNtmsObjectAttributeA (ntmsapi.h)

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

La funzione SetNtmsObjectAttribute crea un attributo esteso (denominato dati privati) nell'oggetto RSM specificato.

Sintassi

DWORD SetNtmsObjectAttributeA(
  [in] HANDLE      hSession,
  [in] LPNTMS_GUID lpObjectId,
  [in] DWORD       dwType,
  [in] LPCSTR      lpAttributeName,
  [in] LPVOID      lpAttributeData,
  [in] DWORD       dwAttributeSize
);

Parametri

[in] hSession

Handle alla sessione restituita dalla funzione OpenNtmsSession .

[in] lpObjectId

GUID dell'oggetto RSM per cui deve essere creato l'attributo esteso.

[in] dwType

Tipo di oggetto RSM. Per un elenco di tipi di oggetti, vedere NtmsObjectsTypes.

[in] lpAttributeName

Nome dell'attributo esteso da creare.

[in] lpAttributeData

Dati definiti dall'utente.

[in] dwAttributeSize

Dimensioni del buffer lpAttributeData , in byte.

Valore restituito

Questa funzione restituisce uno dei valori seguenti.

Valore Significato
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS viene negato all'oggetto o non sono consentite modifiche per il tipo di oggetto specificato (vedere Osservazioni). Altri errori di sicurezza sono anche possibili, ma indicano un errore del sottosistema di sicurezza.

Windows XP: Non sono necessari diritti di accesso.

ERROR_DATABASE_FAILURE
Aggiornamento del database non riuscito.
ERROR_INVALID_HANDLE
Il valore specificato nel parametro hSession è NULL o non è valido.
ERROR_INVALID_NAME
Il nome o l'attributo non è valido. Il valore NTMS_MAXATTR_NAMELEN definisce la lunghezza massima del nome dell'attributo. La lunghezza include un valore NULL.
ERROR_INVALID_PARAMETER
Il puntatore è NULL o non è valido.
ERROR_NO_DATA
L'attributo specificato è maggiore o uguale a NTMS_MAXATTR_LENGTH.
ERROR_NOT_CONNECTED
Impossibile connettersi al servizio RSM.
ERROR_OBJECT_NOT_FOUND
Il GUID non è valido.
ERROR_SUCCESS
La funzione ha avuto esito positivo.

Commenti

La funzione SetNtmsObjectAttribute deve essere eseguita nel server RSM specificato. Poiché il buffer di byte non è visibile tra sistemi di architetture diverse, l'esecuzione remota di questa funzione può causare risultati imprevedibili.

Per eliminare un attributo, eseguire un set di attributi con una lunghezza pari a zero.

Di seguito è riportato l'elenco di oggetti che richiedono diritti di accesso speciali.

Oggetto Access
NTMS_CHANGER Richiede NTMS_MODIFY_ACCESS nella libreria.
NTMS_CHANGER_TYPE Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_COMPUTER Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_DRIVE Richiede NTMS_MODIFY_ACCESS nella libreria.
NTMS_DRIVE_TYPE Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_IEDOOR Richiede NTMS_MODIFY_ACCESS nella libreria.
NTMS_IEPORT Richiede NTMS_MODIFY_ACCESS nella libreria.
NTMS_LIBRARY Richiede NTMS_MODIFY_ACCESS nella libreria.
NTMS_LIBREQUEST Richiede NTMS_MODIFY_ACCESS nella libreria.
NTMS_LOGICAL_MEDIA Richiede NTMS_MODIFY_ACCESS al pool di supporti multimediali del supporto logico.
NTMS_MEDIA_POOL Richiede NTMS_MODIFY_ACCESS al pool multimediale.
NTMS_MEDIA_TYPE Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_OPREQUEST Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_PARTITION Richiede NTMS_MODIFY_ACCESS al pool multimediale del lato.
NTMS_PHYSICAL_MEDIA Richiede NTMS_MODIFY_ACCESS al pool multimediale.
NTMS_STORAGESLOT Richiede NTMS_MODIFY_ACCESS nella libreria.
 

Nota

L'intestazione ntmsapi.h definisce SetNtmsObjectAttribute come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

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

EnumerateNtmsObject

GetNtmsObjectAttribute

Funzioni di gestione oggetti