IVdsSubSystem::QueryLuns 메서드(vdshwprv.h)
[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]
하위 시스템에 표시되는 LUN의 열거형을 반환합니다. 이 메서드는 하드웨어 공급자 개체에만 적용됩니다.
구문
HRESULT QueryLuns(
[out] IEnumVdsObject **ppEnum
);
매개 변수
[out] ppEnum
LUN을 LUN 개체로 열거하는 데 사용할 수 있는 IEnumVdsObject 인터페이스 포인터의 주소입니다. 자세한 내용은 열거형 개체 작업을 참조하세요. 호출자는 IUnknown::Release 메서드를 호출하여 더 이상 필요하지 않은 경우 인터페이스와 각 LUN 개체를 해제해야 합니다.
반환 값
이 메서드는 표준 HRESULT 값(예: E_INVALIDARG 또는 E_OUTOFMEMORY) 및 VDS 관련 반환 값을 반환할 수 있습니다. 또한 HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.
반환 코드/값 | Description |
---|---|
|
하위 시스템의 LUN 열거형을 반환합니다. 하위 시스템에 LUN이 없으면 열거형이 비어 있습니다. |
|
이 반환 값은 배열에 대한 정보를 캐시하는 공급자 내부의 소프트웨어 또는 통신 문제를 알릴 수 있습니다. IVdsHwProvider::Reenumerate 메서드와 IVdsHwProvider::Refresh 메서드를 사용하여 캐시를 복원합니다. |
|
하위 시스템 개체가 더 이상 존재하지 않습니다. |
|
하위 시스템이 실패 상태이며 요청된 작업을 수행할 수 없습니다. |
|
다른 작업이 진행 중입니다. 이 작업은 이전 작업 또는 작업이 완료될 때까지 진행할 수 없습니다. |
설명
IEnumVdsObject 인터페이스는 LUN 마스킹에 관계없이 하위 시스템의 모든 LUN을 포함합니다.
구현자는 LUN이 없는 각 하위 시스템에 대해 빈 열거형 개체를 반환해야 합니다.
이 메서드가 동시에 실행되는 두 개의 별도 스레드에서 호출되는 경우 결과가 일치하지 않을 수 있습니다. 동시에 실행되는 다른 스레드에서 IVdsLun::D elete 와 같은 메서드가 호출되는 동안 한 스레드에서 호출되는 경우 결과는 공급자 액세스 위반일 수 있습니다. 하드웨어 공급자는 이러한 동기화 문제를 최소화하기 위해 필요에 따라 이 쿼리 작업을 직렬화해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vdshwprv.h |
라이브러리 | Uuid.lib |