Поделиться через


Функция UpdateNtmsOmidInfo (ntmsapi.h)

[Диспетчер съемных носителей больше недоступен в Windows 7 и Windows Server 2008 R2.]

Функция UpdateNtmsOmidInfo обновляет базу данных RSM с информацией о метки сразу после записи на только что выделенный носитель.

Синтаксис

DWORD UpdateNtmsOmidInfo(
  [in] HANDLE      hSession,
  [in] LPNTMS_GUID lpMediaId,
  [in] DWORD       labelType,
  [in] DWORD       numberOfBytes,
  [in] LPVOID      lpBuffer
);

Параметры

[in] hSession

Дескриптор сеанса, возвращаемого функцией OpenNtmsSession .

[in] lpMediaId

Уникальный идентификатор части логического носителя.

[in] labelType

Тип метки. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
NTMS_OMID_TYPE_FILESYSTEM_INFO
Параметр lpBuffer содержит структуру NTMS_FILESYSTEM_INFO. Этот флаг используется для носителей, содержащих файловые системы.
NTMS_OMID_TYPE_RAW_LABEL
Параметр lpBuffer содержит необработанные байты метки приложения. Этот флаг используется для носителей, содержащих метки, написанные приложениями.

[in] numberOfBytes

Число байтов, отправленных в параметре lpBuffer .

[in] lpBuffer

Сведения о метки. Формат этого параметра зависит от значения параметра labelType .

Возвращаемое значение

Эта функция возвращает одно из следующих значений.

Значение Значение
ERROR_ACCESS_DENIED
Доступ к одному или нескольким объектам RSM запрещен.
ERROR_DATABASE_FAILURE
Сбой запроса или обновления базы данных.
ERROR_INVALID_HANDLE
Недопустимое значение, указанное в параметре hSession .
ERROR_INVALID_MEDIA
Не удалось получить определение логического носителя из базы данных.
ERROR_INVALID_PARTITION
Не удалось получить определение стороны из базы данных.
ERROR_INVALID_PARAMETER
Параметр lpMediaId имеет значение NULL.
ERROR_NOT_CONNECTED
Не удается подключиться к службе RSM.
ERROR_SUCCESS
Функция выполнена успешно.

Комментарии

Приложение обновляет RSM сведениями, предоставленными функцией UpdateNtmsOmidInfo , и RSM проверяет информацию в базе данных. Сведения о метке хранятся в базе данных RSM со стороной, связанной с этим LMID.

На сервере RSM должна быть выполнена функция UpdateNtmsOmidInfo . Удаленное выполнение этой функции приводит к ошибке.

Для ленточного носителя lpBuffer должен указывать на буфер, содержащий метку, только что записанную на ленте. Данные в этом буфере передаются непосредственно в точку входа ClaimMediaLabel каждого MLL. Один из установленных библиотек MLL должен распознавать допустимую метку в этих данных.

Для носителя с файловыми системами lpBuffer должен быть указателем на буфер, содержащий следующую структуру:


typedef struct {
    WCHAR   FileSystemType[64];
    WCHAR   VolumeName[256];
    DWORD   SerialNumber;
} NTMS_FILESYSTEM_INFO;

RSM использует эти сведения о файловой системе в качестве OMID. Служебные программы форматирования (LDM, обозреватель, format.com и т. д.) эффективно выполняют те же функции, что и этот вызов. Приложению, которое выполняет собственное форматирование или форматирование со сторонним типом файловой системы, для файловой системы требуется только вызов UpdateNtmsOmidInfo для файловой системы.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntmsapi.h
Библиотека Ntmsapi.lib
DLL Ntmsapi.dll

См. также раздел

Функции управления идентификаторами на носителе