IVdsVolume::SetFlags 메서드(vds.h)
[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]
볼륨 플래그를 설정합니다.
구문
HRESULT SetFlags(
[in] ULONG ulFlags,
[in] BOOL bRevertOnClose
);
매개 변수
[in] ulFlags
VDS_VOLUME_FLAG 열거된 플래그입니다. 호출자는 다음 플래그를 설정할 수 있습니다.
VDS_VF_LBN_REMAP_ENABLED
VDS_VF_HIDDEN
VDS_VF_READONLY
VDS_VF_NO_DEFAULT_DRIVE_LETTER
VDS_VF_INSTALLABLE
VDS_VF_SHADOW_COPY
[in] bRevertOnClose
TRUE이면 플래그가 일시적으로 설정됩니다. VDS는 호출자가 볼륨 개체에 대한 마지막 참조를 해제하거나, IVdsVolume::ClearFlags를 호출하거나, 전체 디스크에 플래그가 설정된 경우를 제외하고 볼륨을 분리할 때 각 플래그를 이전 상태로 다시 설정합니다(자세한 내용은 설명 섹션의 표 참조). 플래그가 전체 디스크에 설정된 경우 플래그를 다시 설정하려면 IVdsVolume::ClearFlags 메서드를 호출해야 합니다.
반환 값
이 메서드는 E_INVALIDARG 또는 E_OUTOFMEMORY 같은 표준 HRESULT 값과 VDS별 반환 값을 반환할 수 있습니다. HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.
반환 코드/값 | Description |
---|---|
|
플래그가 설정됩니다. |
|
공급자는 VDS_VF_LBN REMAP_ENABLED 볼륨 플래그를 지원하지 않습니다. |
|
공급자는 VDS_VF_NO DRIVELETTER 볼륨 플래그를 지원하지 않습니다. |
|
bRevertOnClose 는 VDS_VF_HIDDEN 또는 VDS_VF_READONLY 볼륨 플래그가 설정된 경우에만 true로 설정해야 합니다. |
|
일부 볼륨 플래그는 이미 true로 설정되어 있습니다. 먼저 이러한 플래그를 지우고 이 메서드를 호출하고 bRevertOnClose 매개 변수를 true로 다시 설정해야 합니다. VDS_E_INVALID_OPERATION 반환 값은 이 조건을 나타낼 수도 있습니다. |
설명
VDS_VF_READONLY, VDS_VF_HIDDEN 및 VDS_VF_NO_DEFAULT_DRIVE_LETTER 플래그는 디스크 유형(기본 또는 동적) 및 파티션 스타일(MBR 또는 GPT)에 따라 다르게 scope. scope 다음 조건에 설명된 대로 디스크 기반 또는 볼륨 기반입니다.
- 디스크가 기본 및 MBR인 경우 볼륨에서 이러한 플래그 중 하나를 설정하면 현재 볼륨과 디스크에 생성된 지정된 특성이 있는 모든 이후 볼륨에 영향을 줍니다.
- 디스크가 기본 및 GPT, 동적 및 MBR 또는 동적 및 GPT인 경우 볼륨에 플래그 중 하나를 설정하면 해당 특정 볼륨에만 적용됩니다.
플래그 | MBR 기본 디스크 | GPT 기본 디스크 | MBR 또는 GPT 동적 디스크 |
---|---|---|---|
VDS_VF_LBN_REMAP_ENABLED | 수동으로 설정할 수 없습니다. | 수동으로 설정할 수 없습니다. | 타사 볼륨 관리자가 지원하는 경우 볼륨에 설정합니다. |
VDS_VF_HIDDEN | 전체 디스크에 설정합니다. | 볼륨에서 설정합니다(데이터 파티션만 해당). | 볼륨에 설정합니다. |
VDS_VF_READONLY | 전체 디스크에 설정합니다. | 볼륨에서 설정합니다(데이터 파티션만 해당). | 볼륨에 설정합니다. |
VDS_VF_NO_DEFAULT_DRIVE_LETTER | 전체 디스크에 설정합니다. | 파티션에서 설정합니다. | VDS_VOLUME_FLAG 참조하세요. |
VDS_VF_SHADOW_COPY | 전체 디스크에 설정합니다. | 볼륨에서 설정합니다(데이터 파티션만 해당). | 볼륨에 설정합니다. |
VDS_VF_INSTALLABLE | 수동으로 설정할 수 없습니다. | 수동으로 설정할 수 없습니다. | 볼륨에 설정합니다. |
bRevertOnClose가 TRUE이고 디스크가 MBR 기본 디스크이고 볼륨이 삭제된 경우 플래그는 여전히 전체 디스크에 설정되며 플래그는 디스크에 생성된 모든 새 볼륨에 적용됩니다. 그런 다음 IVdsAdvancedDisk::Clean 을 사용하여 플래그를 지워야 합니다.
동적 디스크에 부팅 볼륨을 만들려면 볼륨에 대한 VDS_VF_INSTALLABLE 플래그를 설정한 다음 IVdsVolumeMF::Format 메서드를 호출하여 볼륨의 형식을 지정해야 합니다.
볼륨에 다음 플래그 중 하나 이상이 포함되어 있으면 이 메서드가 실패합니다.
- VDS_VF_SYSTEM
- VDS_VF_BOOT
- VDS_VF_PAGEFILE
- VDS_VF_HIBERNATION
- VDS_VF_CRASHDUMP
bRevertOnClose가 TRUE가 아닌 한 VDS_VF_HIDDEN 또는 VDS_VF_READONLY 지정하면 볼륨을 강제로 분리하고 다시 탑재합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vds.h |
라이브러리 | Uuid.lib |