ClusterGetVolumeNameForVolumeMountPoint 函数 (resapi.h)
[ClusterGetVolumeNameForVolumeMountPoint 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 GetVolumeNameForVolumeMountPoint.]
检索与指定群集共享卷关联的卷 的群集 GUID 路径,该路径 (CSV) 装入点 (驱动器号、卷 GUID 路径或装载的文件夹) 。
语法
BOOL ClusterGetVolumeNameForVolumeMountPoint(
[in] LPCWSTR lpszVolumeMountPoint,
[out] LPWSTR lpszVolumeName,
[in] DWORD cchBufferLength
);
参数
[in] lpszVolumeMountPoint
指向包含装载文件夹路径 (的字符串的指针,例如“Y:\MountX”) 或驱动器号 (,例如“X:\”) 。 字符串必须以尾随反斜杠 (\) 结尾。
[out] lpszVolumeName
指向接收卷 GUID 路径的字符串的指针。 此路径的格式为“\?\Volume{GUID}”,其中 GUID 是标识卷的 GUID 。 如果卷有多个卷 GUID 路径,则仅返回装载管理器缓存中的第一个路径。 返回的字符串采用 IVssBackupComponents::AddToSnapshotSet 和 IVssBackupComponents::IsVolumeSupported 所需的格式。
[in] cchBufferLength
输出缓冲区的长度(以 WCHAR 为单位)。 要容纳最大卷 GUID 路径的合理缓冲区大小为 51 个字符。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 如果未在本地装载输入 CSV,则调用将失败,并出现 ERROR_CSV_VOLUME_NOT_LOCAL (5951) 错误。
注解
以下示例可能会有所帮助。 在这些示例中,“Filename.Ext”确实存在,但“File\that\does\not\exist”和“Directory\that\does\not\exist”不存在。
-
输入:“C:\ClusterStorage\Volume31\”
输出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”
-
输入:“C:\ClusterStorage\Volume31\”
输出:函数失败,并将最后一个错误设置为 ERROR_CSV_VOLUME_NOT_LOCAL (5951) 。
注意 为输入指定的 CSV 卷未在本地装载直接 I/O。 -
输入:“\\?\C:\ClusterStorage\Volume31\Filename.Ext”
输出:函数失败,并将最后一个错误设置为 ERROR_INVALID_PARAMETER (87) 。
-
输入:“C:\ClusterStorage\Volume31\File\that\does\not\exist”
输出:函数失败,并将最后一个错误设置为 ERROR_INVALID_NAME (123) 。
-
输入:“C:\ClusterStorage\Volume31\Directory\that\does\not\exist\”
输出:函数失败,并将最后一个错误设置为 ERROR_INVALID_NAME (123) 。
-
输入:“\\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}\”
输出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”
-
输入:“\\?\Volume{de8b99bb-895e-4a1d-9d64-9b82fa068d76}\ClusterStorage\Volume31\”
输出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”
注意 输出中的卷是 CSV,不同于作为输入一部分的系统卷。 -
输入:“\\?\GLOBALROOT\Device\Harddisk0\Partition1\ClusterStorage\Volume31\”
输出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”
-
输入:“\\?\GLOBALROOT\Device\HarddiskVolume1\ClusterStorage\Volume31\”
输出:“\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}”
#define UNICODE 1
#include <ResApi.h>
必须从群集的节点调用 ClusterGetVolumeNameForVolumeMountPoint 函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2008 R2 Enterprise、Windows Server 2008 R2 Datacenter |
目标平台 | Windows |
标头 | resapi.h |
Library | ResUtils.Lib |
DLL | ResUtils.Dll |
另请参阅
GetVolumeNameForVolumeMountPoint