AttachVirtualDisk 함수(virtdisk.h)

첨부 파일을 수행할 적절한 VHD 공급자를 찾아 VHD(가상 하드 디스크) 또는 CD 또는 DVD 이미지 파일(ISO)을 연결합니다.

구문

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

연결 중인 가상 디스크 유형과 관련된 플래그입니다. 필요하지 않은 경우 0일 수 있습니다.

[in, optional] Parameters

첨부 파일 매개 변수 데이터를 포함하는 유효한 ATTACH_VIRTUAL_DISK_PARAMETERS 구조체에 대한 포인터입니다.

[in, optional] Overlapped

비동기 작업이 필요한 경우 유효한 OVERLAPPED 구조체에 대한 선택적 포인터입니다.

반환 값

요청의 상태입니다.

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

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

설명

AttachVirtualDisk 함수는 기본 모드(sffdisk.sys, sffp_sd.sys 및 sdbus.sys 드라이버가 로드되는) SD 컨트롤러에 연결된 SD(Secure Digital) 미디어에 호스트되는 VHD 또는 ISO에 대해 지원되지 않으며 오류 ERROR_FILE_NOT_FOUND 함께 실패합니다. USB 판독기와 연결된 SD 미디어에서 호스트되는 VHD 및 ISO가 지원됩니다.

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

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

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

가상 디스크 핸들을 열 때 가상 디스크의 의도된 액세스 모드를 고려해야 합니다. 예를 들어 읽기/쓰기 액세스를 위해 가상 디스크가 연결되어 있는 경우 VIRTUAL_DISK_ACCESS_ATTACH_RW 액세스 플래그를 사용하여 VirtualDiskHandle 매개 변수를 열어야 합니다. 자세한 내용은 VIRTUAL_DISK_ACCESS_MASKOpenVirtualDisk를 참조하세요.

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

요구 사항

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

추가 정보

VHD 정보

VHD 참조