다음을 통해 공유


VDS_DISK_PROP2 구조체(vds.h)

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

디스크 개체의 속성을 정의합니다. 이 구조체는 위치 경로도 포함하고 디스크가 오프라인인 경우 오프라인인 이유를 제외하고 VDS_DISK_PROP 구조와 동일합니다.

구문

typedef struct _VDS_DISK_PROP2 {
  VDS_OBJECT_ID           id;
  VDS_DISK_STATUS         status;
  VDS_DISK_OFFLINE_REASON OfflineReason;
  VDS_LUN_RESERVE_MODE    ReserveMode;
  VDS_HEALTH              health;
  DWORD                   dwDeviceType;
  DWORD                   dwMediaType;
  ULONGLONG               ullSize;
  ULONG                   ulBytesPerSector;
  ULONG                   ulSectorsPerTrack;
  ULONG                   ulTracksPerCylinder;
  ULONG                   ulFlags;
  VDS_STORAGE_BUS_TYPE    BusType;
  VDS_PARTITION_STYLE     PartitionStyle;
  union {
    DWORD dwSignature;
    GUID  DiskGuid;
  };
  LPWSTR                  pwszDiskAddress;
  LPWSTR                  pwszName;
  LPWSTR                  pwszFriendlyName;
  LPWSTR                  pwszAdaptorName;
  LPWSTR                  pwszDevicePath;
  LPWSTR                  pwszLocationPath;
} VDS_DISK_PROP2, *PVDS_DISK_PROP2;

멤버

id

디스크 개체의 GUID입니다.

status

디스크의 상태 지정하는 VDS_DISK_STATUS 열거형 값입니다. VDS 서비스가 디스크에 대한 핸들을 열 수 없는 경우 이 멤버를 VDS_DS_UNKNOWN 설정합니다.

참고 포함된 팩의 상태 VDS_PS_OFFLINE 경우에도 이 멤버를 VDS_DS_ONLINE 수 있습니다.
 

OfflineReason

디스크가 오프라인인 경우 이 멤버는 오프라인인 이유를 지정하는 VDS_DISK_OFFLINE_REASON 열거형 값입니다.

ReserveMode

이 멤버는 나중에 사용하도록 예약되어 있습니다.

health

디스크의 상태를 지정하는 VDS_HEALTH 열거형 값입니다. 다음은 이 멤버에 대한 유효한 값입니다.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_FAILING (4)

VDS_H_FAILED (8)

dwDeviceType

Winioctl.h에 정의된 디바이스 유형으로, 다음과 같은 유형이 포함됩니다.

dwMediaType

STORAGE_MEDIA_TYPE 열거된 미디어 형식입니다. 기본 및 동적 디스크는 FixedMedia 열거자에 매핑됩니다. 자세한 내용은 STORAGE_MEDIA_TYPE 참조하세요.

ullSize

디스크 크기(바이트)입니다. 디스크의 최대 볼륨 크기를 확인하려면 IVdsDisk3::QueryFreeExtents 를 호출하고 모든 사용 가능한 익스텐트의 크기를 추가합니다.

ulBytesPerSector

각 섹터의 바이트 수입니다.

ulSectorsPerTrack

각 트랙의 섹터 수입니다.

ulTracksPerCylinder

각 실린더의 트랙 수입니다.

ulFlags

다양한 디스크 특성을 지정하는 VDS_DISK_FLAG 열거형 값의 비트 마스크입니다.

BusType

VDS_STORAGE_BUS_TYPE 열거된 입력/출력 버스 형식입니다.

PartitionStyle

파티션 스타일을 지정하는 VDS_PARTITION_STYLE 열거형입니다. 이 구성원은 노조에 대한 비범죄자입니다.

dwSignature

PartitionStyleVDS_PST_MBR 경우 사용됩니다(1). MBR 파티션에 대한 서명입니다. 이 값은 고유하지 않습니다.

DiskGuid

PartitionStyleVDS_PST_GPT 경우 사용됩니다(2). The
디스크의 GUID입니다. 또한 각 GPT 파티션에는 자체 GUID가 있습니다. ( VDS_PARTITION_INFO_GPT 참조하세요.)

pwszDiskAddress

포트NNN 경로 NNN 대상 NNN Lun NNN형식의 SCSI와 유사한 디스크의 주소입니다. 여기서 NNN은 하나 이상의 숫자입니다.

SCSI 디스크, IDE 디스크 및 파이버 채널 디스크에는 이러한 주소가 있을 수 있습니다. USB 및 1394 디스크는 주소 형식이 다르며 저장되지 않습니다.

이 멤버는 선택 사항이며 사용할 수 있는 값이 없는 경우 NULL 일 수 있습니다. NULL이 아닌 경우 해당 길이는 22WCHAR보다 크거나 같아야 하며 필요한 NULL 종결자를 포함하여 64WCHAR보다 작거나 같아야 합니다. IVdsDisk3::GetProperties2를 호출하여 VDS_DISK_PROP2 구조를 수신하는 애플리케이션은 이 멤버가 NULL인지 여부를 검사 합니다.

pwszName

CreateFile 함수를 사용하여 만든 개체에 대한 핸들을 여는 데 사용되는 이름입니다. 예를 들면 다음과 같습니다.

pwszFriendlyName

플러그 앤 플레이(PnP) 관리자가 반환한 이름입니다. 이 이름은 플러그 앤 플레이 관리자가 Windows 레지스트리에서 유지 관리합니다(예: "SEAGATE ST34573N SCSI 디스크 디바이스").

pwszAdaptorName

이 디스크가 연결된 어댑터의 이름입니다. PnP 관리자는 Windows 레지스트리에서 유지 관리되는 이름(예: "Adaptec AHA-2940U2W - Ultra2 SCSI")을 반환합니다.

pwszDevicePath

PnP 관리자가 반환한 문자열입니다. PnP 관리자는 디바이스 경로를 사용하여 컴퓨터에서 디바이스를 고유하게 식별합니다. 자세한 내용은 SP_DEVICE_INTERFACE_DETAIL_DATA_W.

pwszLocationPath

디스크의 PnP 위치 경로를 포함하는 문자열입니다. 이 문자열의 형식은 버스 형식에 따라 달라집니다. 버스 유형이 SCSI, SAS 또는 PCI RAID인 경우 형식은 AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId)입니다. 버스 유형이 IDE, ATA, PATA 또는 SATA인 경우 형식은 AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId)입니다. 이 문자열의 부분을 나열하는 테이블은 다음 주의 섹션을 참조하세요.

참고 Hyper-V의 경우 가상 컨트롤러가 위치 경로를 반환하지 않으므로 이 멤버는 NULL입니다.
 

설명

IVdsDisk3::GetProperties2 메서드는 디스크 개체의 속성을 보고하기 위해 이 구조를 반환합니다.

다음 표에서는 pwszLocationPath 멤버에 사용되는 위치 경로 문자열의 일부를 나열합니다.

위치 경로 부분 Description
AdapterPnpLocationPath 어댑터의 PnP 위치 경로입니다. 이는 SetupDiGetDeviceProperty 함수를 호출하고 PropertyKey 매개 변수에 대한 &DEVPKEY_Device_LocationPaths 전달하여 검색됩니다.
BusType 버스 유형: ATA, RAID, SAS 또는 SCSI.
참고 버스 유형이 IDE, PATA 또는 SATA인 경우 위치 경로 문자열에 ATA로 표시됩니다. PCI RAID인 경우 RAID로 표시됩니다.
 
PathId 버스의 수입니다. IOCTL_SCSI_GET_ADDRESS 제어 코드에서 반환되는 SCSI_ADDRESS 구조체의 PathId 멤버 값입니다.
TargetId 대상 디바이스의 수입니다. IOCTL_SCSI_GET_ADDRESS 제어 코드에서 반환되는 SCSI_ADDRESS 구조체의 TargetId 멤버 값입니다.
LunId LUN의 수입니다. IOCTL_SCSI_GET_ADDRESS 제어 코드에서 반환되는 SCSI_ADDRESS 구조체의 Lun 멤버 값입니다.
 

다음 표에는 위치 경로의 예가 포함되어 있습니다.

버스 종류 예제 위치 경로
ATA PCIROOT(0)#PCI(0100)#ATA(C01T03L00)
RAID PCIROOT(0)#PCI(0200)#PCI(0003)#PCI(0100)#RAID(P02T00L00)
SAS PCIROOT(1)#PCI(0300)#SAS(P00T03L00)
SCSI PCIROOT(0)#PCI(1C00)#PCI(0000)#SCSI(P00T01L01)

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
머리글 vds.h

추가 정보

IVdsDisk3::GetProperties2

VDS_DISK_OFFLINE_REASON

VDS_PARTITION_INFO_GPT

VDS_PARTITION_INFO_MBR