Функция CreateNtmsMediaW (ntmsapi.h)
[Диспетчер съемных носителей больше недоступен в Windows 7 и Windows Server 2008 R2.]
Функция CreateNtmsMedia создает PMID и сторону (или сторону) для новой части автономного носителя. Носитель помещается в пул носителей, указанный для lpPhysicalMedia.
Синтаксис
DWORD CreateNtmsMediaW(
[in] HANDLE hSession,
[in] LPNTMS_OBJECTINFORMATIONW lpMedia,
[in] LPNTMS_OBJECTINFORMATIONW lpList,
[in] DWORD dwOptions
);
Параметры
[in] hSession
Дескриптор сеанса, возвращаемого функцией OpenNtmsSession .
[in] lpMedia
Указатель на структуру NTMS_OBJECTINFORMATION , содержащую сведения о создаваемом носителе. Описание соответствующих элементов см. в разделе Примечания.
[in] lpList
Указатель на структуру NTMS_OBJECTINFORMATION , указывающую массив сторон, связанных со средой. Описание соответствующих элементов см. в разделе Примечания.
[in] dwOptions
Параметры. Этот параметр может принимать одно из указанных ниже значений.
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
Значение | Значение |
---|---|
|
NTMS_MODIFY_ACCESS на компьютер или пул носителей запрещено. Возможны и другие ошибки безопасности, но они указывают на ошибку подсистемы безопасности.
Windows XP: NTMS_CONTROL_ACCESS в пул носителей или NTMS_MODIFY_ACCESS в автономную библиотеку запрещено. Возможны и другие ошибки безопасности, но они указывают на ошибку подсистемы безопасности. |
|
База данных недоступна или повреждена. |
|
База данных заполнена. |
|
Вариант NTMS_ERROR_ON_DUPLICATE был предоставлен, и носитель уже существует с этим OMID. |
|
Дескриптор сеанса отсутствует или недопустим. |
|
Запись уже существует для носителя с этим штрихкодом. |
|
Указанный пул носителей либо не существует, либо не является допустимым пулом импорта или приложения. |
|
Параметр отсутствует, либо недопустимый размер сведений об объекте или тип объекта. |
|
Число указанных сторон не соответствует числу сторон, связанных с типом мультимедиа пула носителей. |
|
Сбой выделения памяти во время обработки. |
|
Функция успешно выполнена. |
Комментарии
Параметр lpMedia должен указывать на структуру NTMS_OBJECTINFORMATION , параметр dwType которой NTMS_PHYSICAL_MEDIA. Ниже приведен список элементов и описаний для структуры NTMS_OBJECTINFORMATION .
Член | Описание |
---|---|
dwSize | [in] CreateNtmsMedia проверяет, равен ли этот размер длине структуры NTMS_OBJECTINFORMATION , содержащей структуру NTMS_PMIDINFORMATION . Если размер неправильный, возвращается ERROR_INVALID_PARAMETER. |
dwType | [in] CreateNtmsMedia проверяет, было ли указано значение NTMS_PHYSICAL_MEDIA. Он возвращает ERROR_INVALID_PARAMETER, если указан неверный тип. |
Создан | [out] Указывает время ввода физического объекта мультимедиа в базу данных NTMS. |
Изменен | [out] Указывает время ввода физического объекта мультимедиа в базу данных NTMS. |
Objectguid | [вход/выход] Уникальный идентификатор физического объекта мультимедиа (PMID). Если указано значение, отличное от NULL , значение используется в качестве GUID физической среды, в противном случае создается GUID. |
Enabled | [in] Указывает, следует ли включить физический носитель. |
dwOperationalState | [out] Должен быть NTMS_READY. |
szName | [вход/выход] CreateNtmsMedia позволяет приложению указать имя нового физического носителя. Это позволяет приложению продолжать использовать имя носителя после перемещения его с одного компьютера RSM на другой. Имя RSM по умолчанию: для односторонней: штрихкод, а затем значение сведений о метки или порядковый номер;. для многосторонней мультимедиа Штрихкод, затем Порядковый номер.
Обратите внимание, что в пользовательском интерфейсе RSM для секции отображается это имя (имя, назначенное физическому объекту мультимедиа). |
szDescription | [in] Необязательный параметр, который можно задать с помощью CreateNtmsMedia. Укажите пустую строку ("\0"), чтобы избежать передачи значения для описания. |
Ниже приведен список элементов и описания структуры NTMS_PMIDINFORMATION .
Член | Описание |
---|---|
CurrentLibrary | [in] Должен быть либо NULL_GUID, либо GUID автономной библиотеки. |
MediaPool | [in] Должен быть GUID допустимого пула импорта или пула приложений.
CreateNtmsMedia проверяет, является ли это GUID допустимого импорта или пула приложений. Он также проверяет, правильно ли указано количество секций для типа носителя, связанного с этим пулом носителей. |
Расположение | [out] Должен быть NULL_GUID. |
LocationType | [out] Должен быть NTMS_STORAGESLOT. |
HomeSlot | [out] Должен быть NULL_GUID. |
MediaType | [out] CreateNtmsMedia задает тип носителя, связанный с предоставленным пулом носителей. |
szBarCode | [вход/выход] Штрихкод удаляет все конечные пробелы. CreateNtmsMedia не выполняет никаких дополнительных попыток проверки допустимости штрихкода. |
BarCodeState | [out] Параметру BarCodeState присвоено значение NTMS_BARCODESTATE_UNREADABLE, если значение, переданное для szBarCode , является пустой строкой, в противном случае оно имеет значение NTMS_BARCODESTATE_OK. |
szSequenceNumber | [out] CreateNtmsMedia присваивает только что созданному носителю порядковый номер, который возвращается в этом элементе. |
MediaState | [out] CreateNtmsMedia задает для MediaState значение NTMS_MEDIASTATE_IDLE. |
dwNumberOfPartitions | [in] Определяет количество NTMS_OBJECTINFORMATION структур, представляющих стороны для этой среды. CreateNtmsMedia проверяет, совпадает ли количество указанных сторон с числом сторон, подразумеваемым пулом носителей, которому оно должно быть назначено. Если они не совпадают, возвращается ERROR_MEDIA_INCOMPATIBLE. |
dwMediaTypeCode | [in] Код типа носителя SCSI.
Этот элемент не используется RSM, но может использоваться приложениями, написанными в RSM для получения дополнительных сведений о носителе. Описание того, для чего должен быть задан этот член, см. в разделе Спецификация SCSI производителя оборудования для возможных параметров. RSM обновляет этот элемент при первом подключении нового импортированного носителя. |
dwDensityCode | [in] Код плотности SCSI.
Этот элемент не используется RSM, но может использоваться приложениями, написанными в RSM для получения дополнительных сведений о носителе. Описание того, для чего должен быть задан этот член, см. в разделе Спецификация SCSI производителя оборудования для возможных параметров. RSM обновляет этот элемент при первом подключении нового импортированного носителя. |
Параметр lpList должен указывать на структуру NTMS_OBJECTINFORMATION , dwType которой NTMS_PARTITION со следующими сведениями.
Член | Описание |
---|---|
dwSize | [in] CreateNtmsMedia проверяет, соответствует ли указанный размер ожидаемой длине структуры NTMS_OBJECTINFORMATION , содержащей NTMS_PARTITIONINFORMATION структуру. Если размер неправильный, возвращается ERROR_INVALID_PARAMETER. |
dwType | [in] CreateNtmsMedia проверяет, предоставлено ли значение NTMS_PARTITION. Он возвращает ERROR_INVALID_PARAMETER, если указанный тип неправильный. |
Создан | [out] Указывает время ввода объекта секции в базу данных RSM. |
Изменен | [out] Указывает время ввода объекта секции в базу данных RSM. |
Objectguid | [вход/выход] Уникальный идентификатор стороны. Если указано значение, отличное от NULL , значение используется в качестве GUID стороны; В противном случае создается GUID. |
Enabled | [in] Определяет, следует ли включить сторону. |
dwOperationalState | [out] Должен быть NTMS_READY. |
szName | [in] Имя новой стороны. |
szDescription | [in] Необязательный параметр, который можно задать с помощью CreateNtmsMedia. Укажите пустую строку ("\0"), чтобы избежать передачи значения для описания. |
PhysicalMedia | [out] GUID только что созданного бокового объекта. |
LogicalMedia | [вход/выход] Необязательный входной параметр, а также выходной параметр. Если указан GUID, CreateNtmsMedia попытается создать новый логический объект мультимедиа с предварительно заданным GUID. Если GUID не является уникальным, CreateNtmsMedia возвращает ошибку. |
Состояние | [in] Любое допустимое боковое состояние. |
Стороне | [out] CreateNtmsMedia задает номер стороны со смещением в массиве Секции. |
dwOmidLabelIdLength | [in] Должно быть положительным значением.
CreateNtmsMedia использует dwOmidLabelIdLength для определения количества значительных байтов в элементе OmidLabelId . Если значение неверное, записанное значение OmidLabelId является неправильным. |
OmidLabelId | [in] Должна быть допустимой меткой носителя, которую можно распознать с помощью установленного MLL. |
szOmidLabelType | [in] Не должно быть пустой строкой. |
szOmidLabelInfo | [in] Может быть пустой строкой. |
dwMountCount | [in] Принимается любое значение. |
dwAllocateCount | [in] Принимается любое значение. |
Производительность | [in] Код емкости SCSI.
Этот элемент не используется RSM, но может использоваться приложениями, написанными в RSM для получения дополнительных сведений о носителе. Описание того, для чего должен быть задан этот член, см. в разделе Спецификация SCSI производителя оборудования для возможных параметров. RSM обновляет этот элемент при первом подключении нового импортированного носителя. |
Примечание
Заголовок ntmsapi.h определяет CreateNtmsMedia в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | ntmsapi.h |
Библиотека | Ntmsapi.lib |
DLL | Ntmsapi.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по