Функция 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
Обработка сеанса, возвращаемого функцией OpenNtmsSess ion.
[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 | [in/out] Уникальный идентификатор объекта физического носителя (PMID). Если задано значение, отличное отNULL, значение используется в качестве GUID физического носителя, в противном случае создается GUID. |
включено | [in] Указывает, следует ли включить физический носитель. |
dwOperationalState | [out] Должно быть NTMS_READY. |
szName | [in/out] 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 | [in/out] Штрихкод лишается всех конечных пространств. CreateNtmsMedia не выполняет никаких дополнительных попыток проверки допустимости штрихкода. |
BarCodeState | [out] |
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 | [in/out] Уникальный идентификатор для стороны. Если указано значение, отличное отNULL, значение используется в качестве GUID стороны; в противном случае создается GUID. |
включено | [in] Определяет, следует ли включить сторону. |
dwOperationalState | [out] Должно быть NTMS_READY. |
szName | [in] Имя новой стороны. |
szDescription | [in] Необязательный параметр, который можно задать с помощью CreateNtmsMedia. Укажите пустую строку (\0), чтобы избежать передачи значения для описания. |
PhysicalMedia | [out] GUID только что созданного объекта. |
LogicalMedia | [in/out] Необязательный входной параметр, а также выходной параметр. Если указан 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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | ntmsapi.h |
библиотеки |
Ntmsapi.lib |
DLL | Ntmsapi.dll |