다음을 통해 공유


IVdsVdProvider::CreateVDisk 메서드(vds.h)

[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]

가상 디스크를 만듭니다.

구문

HRESULT CreateVDisk(
  [in]  PVIRTUAL_STORAGE_TYPE        VirtualDeviceType,
  [in]  LPWSTR                       pPath,
  [in]  LPWSTR                       pStringSecurityDescriptor,
  [in]  CREATE_VIRTUAL_DISK_FLAG     Flags,
  [in]  ULONG                        ProviderSpecificFlags,
  [in]  ULONG                        Reserved,
  [in]  PVDS_CREATE_VDISK_PARAMETERS pCreateDiskParameters,
  [out] IVdsAsync                    **ppAsync
);

매개 변수

[in] VirtualDeviceType

만들 가상 디스크의 형식을 지정하는 VIRTUAL_STORAGE_TYPE 구조체에 대한 포인터입니다.

[in] pPath

가상 디스크에 대해 만들 백업 파일의 이름 및 디렉터리 경로를 포함하는 NULL로 종료된 와이드 문자열입니다.

[in] pStringSecurityDescriptor

가상 디스크에 적용할 보안 설명자를 포함하는 NULL 종료 와이드 문자열입니다. 이 매개 변수가 NULL이면 호출자의 액세스 토큰에 있는 보안 설명자가 사용됩니다.

[in] Flags

가상 디스크를 만드는 방법을 지정하는 CREATE_VIRTUAL_DISK_FLAG 열거형 값의 비트 마스크입니다.

의미
CREATE_VIRTUAL_DISK_FLAG_NONE
0x00000000
플래그가 지정되지 않았습니다.
CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION
0x00000001
가상 디스크의 가상 크기에 필요한 모든 물리적 공간을 미리 할당합니다. 이 플래그는 고정 크기 가상 디스크에만 유효합니다.

[in] ProviderSpecificFlags

생성되는 가상 디스크 유형과 관련된 플래그의 비트 마스크입니다. 이러한 플래그는 공급자에 따라 다릅니다. Microsoft 가상 디스크 공급자의 경우 이 매개 변수는 0이어야 합니다.

[in] Reserved

매개 변수는 예약되어 있으며 0이어야 합니다.

[in] pCreateDiskParameters

가상 디스크 만들기 매개 변수를 포함하는 VDS_CREATE_VDISK_PARAMETERS 구조체에 대한 포인터입니다.

[out] ppAsync

성공적으로 완료되면 IVdsAsync 인터페이스를 수신하여 이 작업을 모니터링하고 제어하는 IVdsAsync 인터페이스에 대한 포인터입니다. 호출자는 수신된 인터페이스를 완료할 때 해제해야 합니다. 인터페이스에서 IVdsAsync::Wait 메서드가 호출되고 성공 HRESULT 값이 반환되는 경우 각 인터페이스 포인터에서 IUnknown::Release 메서드를 호출하여 VDS_ASYNC_OUTPUT 구조에 반환된 인터페이스를 해제해야 합니다. 그러나 Wait가 오류 HRESULT 값을 반환하거나 WaitpHrResult 매개 변수가 오류 HRESULT 값을 수신하는 경우 VDS_ASYNC_OUTPUT 구조의 인터페이스 포인터는 NULL이며 해제할 필요가 없습니다. Winerror.h에 정의된 SUCCEEDED 및 FAILED 매크로를 사용하여 성공 또는 실패 HRESULT 값을 테스트할 수 있습니다.

반환 값

이 메서드는 E_INVALIDARG 또는 E_OUTOFMEMORY 같은 표준 HRESULT 값과 VDS별 반환 값을 반환할 수 있습니다. HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.

설명

애플리케이션은 CoInitializeSecurity 함수를 호출하여 프로세스 전체 보안을 초기화해야 합니다. dwImpLevel 매개 변수는 RPC_C_IMP_LEVEL_IMPERSONATE 설정해야 합니다.

Windows Server 2008, Windows Vista 및 Windows Server 2003: 이러한 작업은 Windows 7 및 Windows Server 2008 R2까지 필요하지 않습니다.

지정된 파일 이름을 가진 가상 디스크가 없으면 만들어집니다. 가상 디스크가 이미 있는 경우 가상 디스크 공급자는 파일을 다시 만들지 않고 기존 가상 디스크 개체에 대한 인터페이스 포인터를 반환합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 vds.h
라이브러리 Uuid.lib

추가 정보

IVdsVdProvider