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


Функция ClusterGetVolumePathName (resapi.h)

[ClusterGetVolumePathName доступно для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте GetVolumePathName.]

Извлекает точку подключения тома в кластере, где подключен указанный путь.

Синтаксис

BOOL ClusterGetVolumePathName(
  [in]  LPCWSTR lpszFileName,
  [out] LPWSTR  lpszVolumePathName,
  [in]  DWORD   cchBufferLength
);

Параметры

[in] lpszFileName

Указатель на строку входного пути. В этом пути допустимы как абсолютные, так и относительные имена файлов и каталогов, например "..".

Если указать относительный каталог или имя файла без квалификатора тома, ClusterGetVolumePathName возвращает букву диска текущего тома.

Если этот параметр является пустой строкой "", функция завершается сбоем, но последняя ошибка имеет значение ERROR_SUCCESS.

[out] lpszVolumePathName

Указатель на строку, которая получает точку подключения тома для входного пути.

[in] cchBufferLength

Длина выходного буфера в WCHAR.

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

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Следующие примеры могут помочь. В этих примерах "Имя_файла.Ext" существует, но "Путь\это\\not\exist" — нет.

  • Входные данные: "C:\ClusterStorage\Volume31\Filename.Ext"

    Выходные данные: "C:\ClusterStorage\Volume31"

  • Входные данные: "\?\C:\ClusterStorage\Volume31\Filename.Ext"

    Выходные данные: "\?\C:\ClusterStorage\Volume31"

  • Входные данные: "C:\ClusterStorage\Volume31\Path\that\does\not\exist"

    Выходные данные: "C:\ClusterStorage\Volume31"

  • Входные данные: "\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}\ClusterStorage\Volume31\Filename.Ext"

    Выходные данные: "\?\Volume{deadbeef-895e-4a1d-9d64-9b82fa068d76}\ClusterStorage\Volume31"

  • Входные данные: "\\?\GLOBALROOT\Device\Harddisk0\Partition1\ClusterStorage\Volume31\Filename.Ext"

    Выходные данные: "\?\GLOBALROOT\Device\Harddisk0\Partition1\ClusterStorage\Volume31"

  • Входные данные: "\?\GLOBALROOT\Device\HarddiskVolume1\ClusterStorage\Volume31\Filename.Ext"

    Выходные данные: "\?\GLOBALROOT\Device\HarddiskVolume1\ClusterStorage\Volume31"

Windows Server 2008 R2: Первоначальный выпуск ResApi.h, содержащий функцию ClusterGetVolumePathName , использовал типы данных на основе TCHAR вместо типов данных на основе WCHAR. Определение препроцессора ЮНИКОДа должно быть задано перед включением ResApi.h.
#define UNICODE 1
#include <ResApi.h>

Функция ClusterGetVolumePathName должна вызываться из узла кластера.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter
Целевая платформа Windows
Header resapi.h
Библиотека ResUtils.Lib
DLL ResUtils.Dll

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

Резервное копирование и восстановление конфигурации отказоустойчивого кластера с помощью VSS

Функции резервного копирования и восстановления