Condividi tramite


Funzione SetNtmsObjectAttributeW (ntmsapi.h)

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

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

Sintassi

DWORD SetNtmsObjectAttributeW(
  [in] HANDLE      hSession,
  [in] LPNTMS_GUID lpObjectId,
  [in] DWORD       dwType,
  [in] LPCWSTR     lpAttributeName,
  [in] LPVOID      lpAttributeData,
       DWORD       AttributeSize
);

Parametri

[in] hSession

Handle per la sessione restituita dalla funzione OpenNtmsSession .

[in] lpObjectId

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

[in] dwType

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

[in] lpAttributeName

Nome dell'attributo esteso da creare.

[in] lpAttributeData

Dati definiti dall'utente.

AttributeSize

Dimensioni del buffer lpAttributeData in byte. D

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 La sezione Osservazioni). Sono anche possibili altri errori di sicurezza, 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 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
GUID non valido.
ERROR_SUCCESS
La funzione ha avuto esito positivo.

Osservazioni

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

Per eliminare un attributo, eseguire un set dell'attributo con una lunghezza pari a zero.

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

Oggetto Accesso
NTMS_CHANGER Richiede NTMS_MODIFY_ACCESS alla libreria.
NTMS_CHANGER_TYPE Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_COMPUTER Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_DRIVE Richiede NTMS_MODIFY_ACCESS alla libreria.
NTMS_DRIVE_TYPE Richiede NTMS_MODIFY_ACCESS al computer.
NTMS_IEDOOR Richiede NTMS_MODIFY_ACCESS alla libreria.
NTMS_IEPORT Richiede NTMS_MODIFY_ACCESS alla libreria.
NTMS_LIBRARY Richiede NTMS_MODIFY_ACCESS alla libreria.
NTMS_LIBREQUEST Richiede NTMS_MODIFY_ACCESS alla libreria.
NTMS_LOGICAL_MEDIA Richiede NTMS_MODIFY_ACCESS al pool di supporti del supporto logico.
NTMS_MEDIA_POOL Richiede NTMS_MODIFY_ACCESS al pool di supporti.
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 di supporti del lato.
NTMS_PHYSICAL_MEDIA Richiede NTMS_MODIFY_ACCESS al pool di supporti.
NTMS_STORAGESLOT Richiede NTMS_MODIFY_ACCESS alla 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione ntmsapi.h
libreria Ntmsapi.lib
dll Ntmsapi.dll

Vedere anche

EnumerateNtmsObject

getNtmsObjectAttribute

Funzioni di gestione oggetti