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
标签类型。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
lpBuffer 参数包含NTMS_FILESYSTEM_INFO结构。 此标志用于包含文件系统的媒体。 |
|
lpBuffer 参数包含应用程序标签的原始字节。 此标志用于包含应用程序写入标签的媒体。 |
[in] numberOfBytes
在 lpBuffer 参数中发送的字节数。
[in] lpBuffer
标签信息。 此参数的格式取决于 labelType 参数的值。
返回值
此函数返回以下值之一。
值 | 含义 |
---|---|
|
拒绝访问一个或多个 RSM 对象。 |
|
数据库查询或更新失败。 |
|
hSession 参数中指定的值无效。 |
|
无法从数据库检索逻辑媒体定义。 |
|
无法从数据库检索侧定义。 |
|
lpMediaId 参数为 NULL。 |
|
无法连接到 RSM 服务。 |
|
函数成功。 |
注解
应用程序使用 UpdateNtmsOmidInfo 函数提供的信息更新 RSM,RSM 验证数据库中的信息。 标签信息存储在与此 LMID 关联的端的 RSM 数据库中。
必须在 RSM 服务器上执行 UpdateNtmsOmidInfo 函数。 远程执行此函数会导致错误。
对于磁带介质 ,lpBuffer 必须指向保存刚刚写入磁带上的标签的缓冲区。 此缓冲区中的数据直接传递到每个 MLL 的 ClaimMediaLabel 入口点。 其中一个已安装的 MRL 必须识别此数据中的有效标签。
对于具有文件系统的媒体, 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 |
标头 | ntmsapi.h |
Library | Ntmsapi.lib |
DLL | Ntmsapi.dll |