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


Функция 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, указанный для входных данных, не подключен локально для прямого ввода-вывода.
     
  • Входные данные: "\?\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}"

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

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

Требования

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

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

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

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

GetVolumeNameForVolumeMountPoint

IVssBackupComponents::AddToSnapshotSet

IVssBackupComponents::IsVolumeSupported