Функция 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
Обработка сеанса, возвращаемого функцией OpenNtmsSess ion.
[in] lpObjectId
Уникальный идентификатор объекта, из которого извлекаются данные.
[in] dwType
Тип объекта RSM. Список типов объектов см. в разделе NtmsObjectsTypes.
[in] lpAttributeName
Имя расширенного атрибута, данные которого необходимо извлечь.
[out] lpAttributeData
Указатель на буфер, получающий данные.
[in, out] lpAttributeSize
Размер буфера данных во входных данных в байтах. В выходных данных фактический размер данных в байтах.
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
Ценность | Значение |
---|---|
|
NTMS_USE_ACCESS объекту или его контейнеру запрещено. Другие ошибки безопасности также возможны, но они указывают на ошибку подсистемы безопасности.
Windows XP: нет необходимых прав доступа. |
|
Сбой запроса или обновления базы данных. |
|
Размер буфера неправильно указан. Правильный размер возвращается в параметре lpAttributeSize. |
|
Значение, указанное в параметре hSession |
|
Указатель null или недопустим. |
|
Не удается подключиться к службе RSM. |
|
Указанный атрибут не найден. |
|
Функция была успешной. |
Замечания
На сервере RSM необходимо выполнить функцию GetNtmsObjectAttribute. Так как буфер байтов не учитывается между системами различных архитектур, удаленное выполнение этой функции может привести к непредсказуемым результатам.
Ниже приведен список объектов, требующих специальных прав доступа.
Объект | Доступ |
---|---|
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 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | ntmsapi.h |
библиотеки |
Ntmsapi.lib |
DLL | Ntmsapi.dll |