Метод ValidateVirtualHardDisk класса Msvm_ImageManagementService

Определяет, является ли файл виртуального жесткого диска допустимым.

Синтаксис

uint32 ValidateVirtualHardDisk(
  [in]  string              Path,
  [out] CIM_ConcreteJob REF Job
);

Параметры

Путь [in]

Тип: string

Полный путь, указывающий расположение файла виртуального жесткого диска.

Задание [out]

Тип: CIM_ConcreteJob

Если операция выполняется асинхронно, этот метод возвращает значение 4096, а этот параметр будет содержать ссылку на объект, производный от CIM_ConcreteJob.

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

Тип: uint32

Этот метод может возвращать одно из следующих значений.

Выполнено без ошибок (0)

Проверенные параметры метода — задание запущено (4096)

Сбой (32768)

Доступ запрещен (32769)

Не поддерживается (32770)

Состояние неизвестно (32771)

Время ожидания (32772)

Недопустимый параметр (32773)

Система используется (32774)

Недопустимое состояние для этой операции (32775)

Неправильный тип данных (32776)

Система недоступна (32777)

Нехватка памяти (32778)

Файл не найден (32779)

Обнаружен цикл разностной цепочки VHD (32787)

Комментарии

Если виртуальный жесткий диск является разностным, открывается вся цепочка виртуальных дисков. Если связь разорвана в цепочке дисков, возвращается объект задания с соответствующей ошибкой, а дочерние и родительские свойства инициализируются в расположении, где разорвана связь.

Доступ к классу Msvm_ImageManagementService может быть ограничен фильтрацией UAC. Дополнительные сведения см. в разделе Контроль учетных записей и инструментарий WMI.

Примеры

В следующем примере C# проверяется образ виртуального жесткого диска. Ссылки на служебные программы можно найти в разделе Общие служебные программы для примеров виртуализации (версия 2).

public static void ValidateVirtualHardDisk(string vhdPath)
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\v2", null);
    ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");

    ManagementBaseObject inParams = imageService.GetMethodParameters("ValidateVirtualHardDisk");
    inParams["Path"] = vhdPath;
    ManagementBaseObject outParams = imageService.InvokeMethod("ValidateVirtualHardDisk", inParams, null);
    if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
    {
        if (Utility.JobCompleted(outParams, scope))
        {
            Console.WriteLine("{0} is a valid virtual hard disk.", inParams["Path"]);
        }
        else
        {
            Console.WriteLine("Unable to validate {0}", inParams["Path"]);
        }
    }

    outParams.Dispose();
    inParams.Dispose();
    imageService.Dispose();
}

Требования

Требование Значение
Минимальная версия клиента
Windows 8 [только классические приложения]
Минимальная версия сервера
Windows Server 2012 [только классические приложения]
Пространство имен
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

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

ValidateVirtualHardDisk (V1)

CIM_ConcreteJob

Msvm_ImageManagementService