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) 이외의 값으로 설정됩니다.
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 |