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


AttachVirtualDisk (virtdisk.h)

Подключает виртуальный жесткий диск (VHD) или файл ОБРАЗА КОМПАКТ-диска или DVD-диска (ISO), найдя соответствующий поставщик VHD для вложения.

Синтаксис

DWORD AttachVirtualDisk(
  [in]           HANDLE                          VirtualDiskHandle,
  [in, optional] PSECURITY_DESCRIPTOR            SecurityDescriptor,
  [in]           ATTACH_VIRTUAL_DISK_FLAG        Flags,
  [in]           ULONG                           ProviderSpecificFlags,
  [in, optional] PATTACH_VIRTUAL_DISK_PARAMETERS Parameters,
  [in, optional] LPOVERLAPPED                    Overlapped
);

Параметры

[in] VirtualDiskHandle

Дескриптор открытого виртуального диска. Сведения об открытии виртуального диска см. в разделе Функция OpenVirtualDisk .

[in, optional] SecurityDescriptor

Необязательный указатель на SECURITY_DESCRIPTOR для применения к подключенному виртуальному диску. Если этот параметр имеет значение NULL, используется дескриптор безопасности файла образа виртуального диска.

Убедитесь, что дескриптор безопасности, который AttachVirtualDisk применяет к подключенному виртуальному диску, предоставляет пользователю разрешение на запись атрибутов, или что дескриптор безопасности файла образа виртуального диска предоставляет пользователю разрешение на запись атрибутов, если для этого параметра задано значение NULL. Если дескриптор безопасности не предоставляет пользователю разрешение на запись атрибутов, оболочка отображает следующую ошибку при доступе пользователя к подключенному виртуальному диску: Корзина повреждена. Очистить корзину для этого диска?

[in] Flags

Допустимое сочетание значений перечисления ATTACH_VIRTUAL_DISK_FLAG .

[in] ProviderSpecificFlags

Флаги, относящиеся к типу подключаемого виртуального диска. Может быть равно нулю, если они не требуются.

[in, optional] Parameters

Указатель на допустимую структуру ATTACH_VIRTUAL_DISK_PARAMETERS , содержащую данные параметров вложения.

[in, optional] Overlapped

Необязательный указатель на допустимую структуру OVERLAPPED , если требуется асинхронная операция.

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

Состояние запроса.

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

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

Комментарии

Функция AttachVirtualDisk не поддерживается для виртуальных жестких дисков или ISOS, размещенных на носителях Secure Digital (SD), подключенных к контроллеру SD в собственном режиме (для которого будут загружены sffdisk.sys, sffp_sd.sys и sdbus.sys драйверы), и завершится сбоем с ошибкой ERROR_FILE_NOT_FOUND. Поддерживаются виртуальные жесткие диски и ISOS, размещенные на SD-носителе, подключенном к USB-средству чтения.

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

  • Параметр VirtualDiskHandle не является допустимым дескриптором, созданным функцией OpenVirtualDisk .
  • Параметру Flags присваивается значение, превышающее 0x020значение .
  • Для элемента Version параметра Parameters не задано значение ATTACH_VIRTUAL_DISK_VERSION_1.
Том узла, содержащий файл образа виртуального диска, не может быть сжат или зашифрован EFS.

Эта функция завершится ошибкой, если поставщик не найден, если файл VHD или ISO-образа недопустим, если образ VHD уже подключен или если вызывающий объект не имеет прав доступа SE_MANAGE_VOLUME_PRIVILEGE . Дополнительные сведения о безопасности файлов см. в разделе Безопасность файлов и права доступа.

При открытии дескриптора виртуального диска необходимо учитывать предполагаемый режим доступа виртуального диска. Например, если виртуальный диск присоединяется для чтения и записи, параметр VirtualDiskHandle должен быть открыт с помощью флага доступа VIRTUAL_DISK_ACCESS_ATTACH_RW . Дополнительные сведения см . в разделах VIRTUAL_DISK_ACCESS_MASK и OpenVirtualDisk.

Файлы образов КОМПАКТ-дисков и DVD-дисков (ISO) не поддерживаются до Windows 8 и Windows Server 2012.

Требования

Требование Значение
Минимальная версия клиента Windows 7
Минимальная версия сервера Windows Server 2008 R2
Целевая платформа Windows
Header virtdisk.h
Библиотека VirtDisk.lib
DLL VirtDisk.dll

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

Сведения о виртуальном жестком диске

Справочник по VHD