Fungsi SetNtmsObjectAttributeA (ntmsapi.h)

[ Manajer Penyimpanan yang Dapat Dilepas tidak lagi tersedia pada Windows 7 dan Windows Server 2008 R2.]

Fungsi SetNtmsObjectAttribute membuat atribut yang diperluas (bernama data privat) di objek RSM yang ditentukan.

Sintaksis

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

Parameter

[in] hSession

Tangani ke sesi yang dikembalikan oleh fungsi OpenNtmsSession.

[in] lpObjectId

GUID objek RSM tempat atribut yang diperluas akan dibuat.

[in] dwType

Jenis objek RSM. Untuk daftar jenis objek, lihat NtmsObjectsTypes.

[in] lpAttributeName

Nama atribut yang diperluas yang akan dibuat.

[in] lpAttributeData

Data yang ditentukan pengguna.

[in] dwAttributeSize

Ukuran buffer lpAttributeData , dalam byte.

Mengembalikan nilai

Fungsi ini mengembalikan salah satu nilai berikut.

Nilai Arti
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS ditolak ke objek atau tidak ada modifikasi yang diizinkan untuk jenis objek yang ditentukan (lihat Komentar). Kesalahan keamanan lainnya juga dimungkinkan, tetapi akan menunjukkan kesalahan subsistem keamanan.

Windows XP: Tidak diperlukan hak akses.

ERROR_DATABASE_FAILURE
Pembaruan database gagal.
ERROR_INVALID_HANDLE
Nilai yang ditentukan dalam parameter hSession null atau tidak valid.
ERROR_INVALID_NAME
Nama atau atribut tidak valid. Nilai NTMS_MAXATTR_NAMELEN menentukan panjang nama atribut maksimum. Panjangnya mencakupNULL .
ERROR_INVALID_PARAMETER
Penunjuk NULL atau tidak valid.
ERROR_NO_DATA
Atribut yang ditentukan lebih besar dari atau sama dengan NTMS_MAXATTR_LENGTH.
ERROR_NOT_CONNECTED
Tidak dapat tersambung ke layanan RSM.
ERROR_OBJECT_NOT_FOUND
GUID tidak valid.
ERROR_SUCCESS
Fungsi berhasil.

Komentar

Fungsi SetNtmsObjectAttribute harus dijalankan pada server RSM yang ditentukan. Karena buffer byte tidak dirusak antara sistem arsitektur yang berbeda, eksekusi jarak jauh fungsi ini dapat mengakibatkan hasil yang tidak dapat diprediksi.

Untuk menghapus atribut, lakukan serangkaian atribut dengan panjang nol.

Berikut ini adalah daftar objek yang memerlukan hak akses khusus.

Benda Akses
NTMS_CHANGER Memerlukan NTMS_MODIFY_ACCESS ke pustaka.
NTMS_CHANGER_TYPE Memerlukan NTMS_MODIFY_ACCESS ke komputer.
NTMS_COMPUTER Memerlukan NTMS_MODIFY_ACCESS ke komputer.
NTMS_DRIVE Memerlukan NTMS_MODIFY_ACCESS ke pustaka.
NTMS_DRIVE_TYPE Memerlukan NTMS_MODIFY_ACCESS ke komputer.
NTMS_IEDOOR Memerlukan NTMS_MODIFY_ACCESS ke pustaka.
NTMS_IEPORT Memerlukan NTMS_MODIFY_ACCESS ke pustaka.
NTMS_LIBRARY Memerlukan NTMS_MODIFY_ACCESS ke pustaka.
NTMS_LIBREQUEST Memerlukan NTMS_MODIFY_ACCESS ke pustaka.
NTMS_LOGICAL_MEDIA Memerlukan NTMS_MODIFY_ACCESS ke kumpulan media media logis.
NTMS_MEDIA_POOL Memerlukan NTMS_MODIFY_ACCESS ke kumpulan media.
NTMS_MEDIA_TYPE Memerlukan NTMS_MODIFY_ACCESS ke komputer.
NTMS_OPREQUEST Memerlukan NTMS_MODIFY_ACCESS ke komputer.
NTMS_PARTITION Membutuhkan NTMS_MODIFY_ACCESS ke kumpulan media samping.
NTMS_PHYSICAL_MEDIA Memerlukan NTMS_MODIFY_ACCESS ke kumpulan media.
NTMS_STORAGESLOT Memerlukan NTMS_MODIFY_ACCESS ke pustaka.
 

Nota

Header ntmsapi.h mendefinisikan SetNtmsObjectAttribute sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedisor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Platform Target Windows
Header ntmsapi.h
Pustaka Ntmsapi.lib
DLL Ntmsapi.dll

Lihat juga

EnumerateNtmsObject

GetNtmsObjectAttribute

Object Management Functions