Функция GetNtmsObjectAttributeW (ntmsapi.h)
[Диспетчер съемных носителей больше недоступен в Windows 7 и Windows Server 2008 R2.]
Функция GetNtmsObjectAttribute извлекает расширенный атрибут (именуемый частными данными) из указанного объекта RSM.
Синтаксис
DWORD GetNtmsObjectAttributeW(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpObjectId,
[in] DWORD dwType,
[in] LPCWSTR 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. |
|
Указанный атрибут не найден. |
|
Функция выполнена успешно. |
Комментарии
На сервере RSM должна быть выполнена функция GetNtmsObjectAttribute . Так как буфер байтов разархивирован между системами разных архитектур, удаленное выполнение этой функции может привести к непредсказуемым результатам.
Ниже приведен список объектов, которым требуются специальные права доступа.
Объект | 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 |