Функция GetNtmsObjectAttributeA (ntmsapi.h)
[Диспетчер съемных носителей больше недоступен в Windows 7 и Windows Server 2008 R2.]
Функция GetNtmsObjectAttribute извлекает расширенный атрибут (именованные частные данные) из указанного объекта RSM.
Синтаксис
DWORD GetNtmsObjectAttributeA(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpObjectId,
[in] DWORD dwType,
[in] LPCSTR lpAttributeName,
[out] LPVOID lpAttributeData,
[in, out] LPDWORD lpAttributeSize
);
Параметры
[in] hSession
Дескриптор сеанса, возвращаемого функцией OpenNtmsSession .
[in] lpObjectId
Уникальный идентификатор объекта, из которого извлекаются данные.
[in] dwType
Тип объекта RSM. Список типов объектов см. в разделе NtmsObjectsTypes.
[in] lpAttributeName
Имя расширенного атрибута, данные которого необходимо извлечь.
[out] lpAttributeData
Указатель на буфер, который получает данные.
[in, out] lpAttributeSize
Размер буфера данных во входных данных в байтах. В выходных данных фактический размер данных в байтах.
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
Значение | Значение |
---|---|
|
NTMS_USE_ACCESS к объекту или его контейнеру запрещено. Возможны и другие ошибки безопасности, но они указывают на ошибку подсистемы безопасности.
Windows XP: Права доступа не требуются. |
|
Сбой запроса или обновления базы данных. |
|
Размер буфера указан неправильно. Правильный размер возвращается в параметре lpAttributeSize . |
|
Значение, указанное в параметре hSession , равно NULL или недопустимо. |
|
Указатель имеет значение NULL или является недопустимым. |
|
Не удается подключиться к службе RSM. |
|
Указанный атрибут не найден. |
|
Функция выполнена успешно. |
Комментарии
Функция GetNtmsObjectAttribute должна быть выполнена на сервере RSM. Так как буфер байтов размыкается между системами разных архитектур, удаленное выполнение этой функции может привести к непредсказуемым результатам.
Ниже приведен список объектов, которым требуются специальные права доступа.
Объект | Access |
---|---|
NTMS_CHANGER | Требуется NTMS_USE_ACCESS в библиотеку. |
NTMS_CHANGER_TYPE | Требуется NTMS_USE_ACCESS к компьютеру. |
NTMS_COMPUTER | Требуется NTMS_USE_ACCESS к компьютеру. |
NTMS_DRIVE | Требуется NTMS_USE_ACCESS в библиотеку. |
NTMS_DRIVE_TYPE | Требуется NTMS_USE_ACCESS к компьютеру. |
NTMS_IEDOOR | Требуется NTMS_USE_ACCESS в библиотеку. |
NTMS_IEPORT | Требуется NTMS_USE_ACCESS в библиотеку. |
NTMS_LIBRARY | Требуется NTMS_USE_ACCESS в библиотеку. |
NTMS_LIBREQUEST | Требуется NTMS_USE_ACCESS в библиотеку. |
NTMS_LOGICAL_MEDIA | Требует NTMS_USE_ACCESS в пул носителей логического носителя. |
NTMS_MEDIA_POOL | Требуется NTMS_USE_ACCESS в пул носителей. |
NTMS_MEDIA_TYPE | Требуется NTMS_USE_ACCESS к компьютеру. |
NTMS_OPREQUEST | Требуется NTMS_USE_ACCESS к компьютеру. |
NTMS_PARTITION | Требуется NTMS_USE_ACCESS в пул носителей на стороне. |
NTMS_PHYSICAL_MEDIA | Требуется NTMS_USE_ACCESS в пул носителей. |
NTMS_STORAGESLOT | Требуется NTMS_USE_ACCESS в библиотеку. |
Примечание
Заголовок ntmsapi.h определяет GetNtmsObjectAttribute в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | ntmsapi.h |
Библиотека | Ntmsapi.lib |
DLL | Ntmsapi.dll |