Функция CreateNtmsMediaA (ntmsapi.h)
[Диспетчер съемных носителей больше недоступен в Windows 7 и Windows Server 2008 R2.]
Функция CreateNtmsMedia создает PMID и стороны (или стороны) для нового автономного носителя. Носитель помещается в пул носителей, указанный для lpPhysicalMedia.
Синтаксис
DWORD CreateNtmsMediaA(
[in] HANDLE hSession,
[in] LPNTMS_OBJECTINFORMATIONA lpMedia,
[in] LPNTMS_OBJECTINFORMATIONA 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 |