Функция SetNtmsObjectAttributeW (ntmsapi.h)
[Диспетчер съемных носителей больше не доступен в Windows 7 и Windows Server 2008 R2.]
Функция SetNtmsObjectAttribute создает расширенный атрибут (именованные частные данные) в указанном объекте RSM.
Синтаксис
DWORD SetNtmsObjectAttributeW(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpObjectId,
[in] DWORD dwType,
[in] LPCWSTR lpAttributeName,
[in] LPVOID lpAttributeData,
DWORD AttributeSize
);
Параметры
[in] hSession
Обработка сеанса, возвращаемого функцией OpenNtmsSess ion.
[in] lpObjectId
GUID объекта RSM, для которого создается расширенный атрибут.
[in] dwType
Тип объекта RSM. Список типов объектов см. в разделе NtmsObjectsTypes.
[in] lpAttributeName
Имя создаваемого расширенного атрибута.
[in] lpAttributeData
Определяемые пользователем данные.
AttributeSize
Размер буфера lpAttributeData
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
Ценность | Значение |
---|---|
|
NTMS_MODIFY_ACCESS запрещается объекту или изменения не допускаются для указанного типа объекта (см. примечания). Другие ошибки безопасности также возможны, но они указывают на ошибку подсистемы безопасности.
Windows XP: нет необходимых прав доступа. |
|
Сбой обновления базы данных. |
|
Значение, указанное в параметре hSession |
|
Недопустимое имя или атрибут. Значение NTMS_MAXATTR_NAMELEN определяет максимальную длину имени атрибута. Длина включает NULL. |
|
Указатель null или недопустим. |
|
Указанный атрибут больше или равен NTMS_MAXATTR_LENGTH. |
|
Не удается подключиться к службе RSM. |
|
Недопустимый ИДЕНТИФИКАТОР GUID. |
|
Функция была успешной. |
Замечания
Функция 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 определяет SetNtmsObjectAttribute как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | ntmsapi.h |
библиотеки |
Ntmsapi.lib |
DLL | Ntmsapi.dll |