Platform SDK: Removable Storage Manager

UpdateNtmsOmidInfo

The UpdateNtmsOmidInfo function updates the RSM database with label information immediately after writing to the newly allocated medium.

DWORD WINAPI UpdateNtmsOmidInfo(
  HANDLE hSession, 
  LPNTMS_GUID lpMediaId,
  DWORD labelType,
  DWORD numberOfBytes,
  LPVOID lpBuffer
);
 

Parameters

hSession
Handle to the session returned by the OpenNtmsSession function.
lpMediaId
Specifies the unique identifier of a piece of logical media.
labelType
Specifies whether the label is a string contained in lpBuffer, or is a FILESTSYSTEM_INFO structure contained in lpBuffer. This parameter can be set to one of the following values.
Value Meaning
NTMS_OMID_TYPE_FILESYSTEM_INFO The lpBuffer argument contains the raw bytes of the application label. This flag is used for Erasable/Optical and CD-ROM media that are labeled with file systems.
NTMS_OMID_TYPE_RAW_LABEL The lpBuffer argument contains the FILESYSTEM_INFO structure. This flag is used for tape media.

numberOfBytes
Specifies the number of bytes sent in the lpBuffer parameter.
lpBuffer
Contains the actual label information, either raw bytes or a FILESYSTEM_INFO structure, depending on the setting of the labelType argument.

Return Values

Value Meaning
ERROR_ACCESS_DENIED Access to one or more RSM objects is denied.
ERROR_DATABASE_FAILURE The database query or update failed.
ERROR_INVALID_HANDLE The value specified in the hSession parameter is invalid.
ERROR_INVALID_MEDIA Unable to retrieve the logical media definition from the database.
ERROR_INVALID_PARTITION Unable to retrieve the side definition from the database.
ERROR_INVALID_PARAMETER The lpMediaId parameter is NULL.
ERROR_NOT_CONNECTED Unable to connect to the RSM service.
ERROR_SUCCESS The function was successful.

Remarks

The application updates RSM with the information supplied by the UpdateNtmsOmidInfo function and RSM verifies the information in the database. The label information is stored in the RSM database with the side associated with this LMID.

The UpdateNtmsOmidInfofunction must be executed on the RSM server. Remote execution of this function results in an error.

For tape media lpBuffer must point to a buffer that holds the label just written on the tape. The data in this buffer is passed directly to the ClaimMediaLabel entry point of each MLL. One of the installed MLLs must recognize a valid label in this data.

For media with file systems, lpBuffer must be a pointer to a buffer that contains the following structure:

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

RSM uses this file system info as the OMID. The Windows 2000 format utilities (LDM, explorer, format.com, etc.) effectively performs the same functionality as this call. An application that performs its own formatting or formats with a third-party file system type should only need to call UpdateNtmsOmidInfo for file system media.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Header: Declared in Ntmsapi.h.
  Library: Use Ntmsapi.lib.

See Also

On-Media-Identifier Management Functions