共用方式為


SetNtmsObjectAttributeW 函式 (ntmsapi.h)

[ 從 Windows 7 和 Windows Server 2008 R2 起,卸除式存儲設備管理員 已無法使用。]

SetNtmsObjectAttribute 函式會在指定的 RSM 物件中建立擴充屬性(名為 private data)。

語法

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

參數

[in] hSession

OpenNtmsSession 函式所傳回的會話句柄。

[in] lpObjectId

要為其建立擴充屬性之 RSM 物件的 GUID。

[in] dwType

RSM 物件類型。 如需物件類型清單,請參閱 NtmsObjectsTypes

[in] lpAttributeName

要建立之擴充屬性的名稱。

[in] lpAttributeData

使用者定義的數據。

AttributeSize

lpAttributeData 緩衝區的大小,以位元組為單位。D

傳回值

此函式會傳回下列其中一個值。

價值 意義
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS拒絕物件,或不允許對指定的物件類型進行修改(請參閱)。 也可能發生其他安全性錯誤,但會指出安全性子系統錯誤。

Windows XP:不需要訪問許可權。

ERROR_DATABASE_FAILURE
資料庫更新失敗。
ERROR_INVALID_HANDLE
hSession 參數中指定的值 NULL 或無效。
ERROR_INVALID_NAME
名稱或屬性無效。 NTMS_MAXATTR_NAMELEN值會定義屬性名稱長度上限。 長度包含 NULL
ERROR_INVALID_PARAMETER
指標 NULL 或無效。
ERROR_NO_DATA
指定的屬性大於或等於NTMS_MAXATTR_LENGTH。
ERROR_NOT_CONNECTED
無法連線到 RSM 服務。
ERROR_OBJECT_NOT_FOUND
GUID 無效。
ERROR_SUCCESS
函式成功。

言論

SetNtmsObjectAttribute 函式必須在指定的 RSM 伺服器上執行。 由於不同架構的系統之間未分批位元組緩衝區,因此此函式的遠端執行可能會導致無法預期的結果。

若要刪除屬性,請執行一組長度為零的屬性。

以下是需要特殊訪問許可權的物件清單。

物件 訪問
NTMS_CHANGER 需要連結庫NTMS_MODIFY_ACCESS。
NTMS_CHANGER_TYPE 需要NTMS_MODIFY_ACCESS電腦。
NTMS_COMPUTER 需要NTMS_MODIFY_ACCESS電腦。
NTMS_DRIVE 需要連結庫NTMS_MODIFY_ACCESS。
NTMS_DRIVE_TYPE 需要NTMS_MODIFY_ACCESS電腦。
NTMS_IEDOOR 需要連結庫NTMS_MODIFY_ACCESS。
NTMS_IEPORT 需要連結庫NTMS_MODIFY_ACCESS。
NTMS_LIBRARY 需要連結庫NTMS_MODIFY_ACCESS。
NTMS_LIBREQUEST 需要連結庫NTMS_MODIFY_ACCESS。
NTMS_LOGICAL_MEDIA 需要NTMS_MODIFY_ACCESS邏輯媒體的媒體集區。
NTMS_MEDIA_POOL 需要媒體集區NTMS_MODIFY_ACCESS。
NTMS_MEDIA_TYPE 需要NTMS_MODIFY_ACCESS電腦。
NTMS_OPREQUEST 需要NTMS_MODIFY_ACCESS電腦。
NTMS_PARTITION 需要NTMS_MODIFY_ACCESS到側邊的媒體集區。
NTMS_PHYSICAL_MEDIA 需要媒體集區NTMS_MODIFY_ACCESS。
NTMS_STORAGESLOT 需要連結庫NTMS_MODIFY_ACCESS。
 

注意

ntmsapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetNtmsObjectAttribute 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 ntmsapi.h
連結庫 Ntmsapi.lib
DLL Ntmsapi.dll

另請參閱

EnumerateNtmsObject

GetNtmsObjectAttribute

物件管理函式