Share via


DetachVirtualDisk 함수(virtdisk.h)

작업을 수행하기 위해 적절한 가상 디스크 공급자를 찾아 VHD(가상 하드 디스크) 또는 CD 또는 DVD 이미지 파일(ISO)을 분리합니다.

구문

DWORD DetachVirtualDisk(
  [in] HANDLE                   VirtualDiskHandle,
  [in] DETACH_VIRTUAL_DISK_FLAG Flags,
  [in] ULONG                    ProviderSpecificFlags
);

매개 변수

[in] VirtualDiskHandle

OpenVirtualDisk 함수에 대한 VirtualDiskAccessMask 매개 변수에 설정된 VIRTUAL_DISK_ACCESS_DETACH 플래그를 사용하여 열어야 하는 열린 가상 디스크에 대한 핸들입니다. 가상 디스크를 여는 방법에 대한 자세한 내용은 OpenVirtualDisk 함수를 참조하세요.

[in] Flags

DETACH_VIRTUAL_DISK_FLAG 열거형 값의 유효한 조합입니다.

[in] ProviderSpecificFlags

분리되는 가상 디스크 유형과 관련된 플래그입니다. 필요하지 않은 경우 0일 수 있습니다.

반환 값

요청의 상태입니다.

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 반환 값은 오류 코드입니다. 자세한 내용은 시스템 오류 코드를 참조하세요.

설명

DetachVirtualDisk 함수가 오류 코드 값 ERROR_INVALID_PARAMETER 실패하는 경우 원인은 다음 조건 중 때문일 수 있습니다.

  • VirtualDiskHandle 매개 변수는 OpenVirtualDisk 함수에서 만든 유효한 핸들이 아닙니다.
  • Flags 매개 변수는 DETACH_VIRTUAL_DISK_FLAG_NONE(0) 이외의 값으로 설정됩니다.
가상 디스크 이미지 파일이 포함된 호스트 볼륨은 압축하거나 EFS를 암호화할 수 없습니다.

DetachVirtualDisk 함수가 성공하려면 가상 디스크에 대해 열려 있는 다른 모든 핸들을 닫아야 합니다.

가상 디스크가 연결되어 있고 연결하는 데 사용된 다른 핸들이 닫힌 경우 ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME 플래그가 지정되었기 때문입니다. 이 경우 DetachVirtualDisk 함수는 성공할 수 있지만 VHD는 연결된 상태로 유지됩니다. ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME 지정하지 않으면 마지막 열린 핸들이 닫히면 가상 디스크가 자동으로 분리됩니다.

공급자를 찾을 수 없거나, 이미지 파일이 유효하지 않거나, 이미지가 연결되어 있지 않거나, 호출자에게 Windows Server 운영 체제에 대한 SE_MANAGE_VOLUME_PRIVILEGE 액세스 권한이 없는 경우 이 함수는 실패합니다. 파일 보안에 대한 자세한 내용은 파일 보안 및 액세스 권한을 참조하세요.

CD 및 DVD 이미지 파일(ISO)은 Windows 8 및 Windows Server 2012 전에 지원되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7
지원되는 최소 서버 Windows Server 2008 R2
대상 플랫폼 Windows
헤더 virtdisk.h
라이브러리 VirtDisk.lib
DLL VirtDisk.dll

추가 정보

VHD 정보

VHD 참조