다음을 통해 공유


IVdsLun::AssociateControllers 메서드(vdshwprv.h)

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

하위 시스템 컨트롤러를 LUN과 관련하여 활성 또는 비활성으로 설정합니다.

구문

HRESULT AssociateControllers(
  [in] VDS_OBJECT_ID *pActiveControllerIdArray,
  [in] LONG          lNumberOfActiveControllers,
  [in] VDS_OBJECT_ID *pInactiveControllerIdArray,
  [in] LONG          lNumberOfInactiveControllers
);

매개 변수

[in] pActiveControllerIdArray

컨트롤러 GUID 배열에 대한 포인터입니다. 공급자는 이러한 컨트롤러를 활성으로 설정합니다. 이 배열에는 활성 상태로 설정된 컨트롤러가 포함되어 있습니다.

[in] lNumberOfActiveControllers

pActiveControllerArray 매개 변수에 지정된 컨트롤러 수입니다.

[in] pInactiveControllerIdArray

컨트롤러 GUID 배열에 대한 포인터입니다. 공급자는 이러한 컨트롤러를 비활성으로 설정합니다. 이 배열에는 비활성으로 설정된 컨트롤러가 포함되어 있습니다.

[in] lNumberOfInactiveControllers

pInactiveControllerIdArray 매개 변수에 지정된 컨트롤러 수입니다.

반환 값

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

반환 코드/값 설명
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
이 반환 값은 배열에 대한 정보를 캐시하는 공급자 내부의 소프트웨어 또는 통신 문제를 알릴 수 있습니다. IVdsHwProvider::Reenumerate 메서드와 IVdsHwProvider::Refresh 메서드를 사용하여 캐시를 복원합니다.
VDS_E_OBJECT_DELETED
0x8004240BL
LUN 개체가 더 이상 존재하지 않습니다.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN이 실패 상태이며 요청된 작업을 수행할 수 없습니다.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
다른 작업이 진행 중입니다. 이 작업은 이전 작업 또는 작업이 완료될 때까지 진행할 수 없습니다.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
활성 또는 비활성 배열에 지정된 하나 이상의 GUID는 기존 개체를 참조하지 않습니다.
VDS_E_NOT_SUPPORTED
0x80042400L
이 작업 또는 매개 변수 조합은 이 공급자에서 지원되지 않습니다.

설명

호출자는 pActiveControllerIdArray 매개 변수 또는 각 메서드 호출에 대한 pInactiveControllerIdArray 매개 변수 중 하나에 각 하위 시스템 컨트롤러를 포함해야 합니다. pActiveControllerIdArraypInactiveControllerIdArray 매개 변수의 컴퍼지션은 각 하위 시스템 LUN에 대해 다를 수 있습니다. 대부분의 하위 시스템은 하나의 활성 컨트롤러만 구현하지만 일부는 여러 활성 컨트롤러를 허용합니다.

참고E_INVALIDARG 반환 값은 호출자가 하위 시스템의 모든 컨트롤러를 지정하지 않았음을 나타낼 수 있습니다. AssociateControllers 메서드를 사용하려면 하위 시스템의 모든 컨트롤러가 제공된 두 배열 중 하나에 있어야 합니다.
 
IVdsLun::QueryActiveControllers 메서드를 사용하여 컨트롤러 연결을 쿼리합니다. IVdsController::QueryAssociatedLuns 메서드를 사용하여 특정 컨트롤러와 연결된 LUN을 쿼리합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 vdshwprv.h
라이브러리 Uuid.lib

추가 정보

IVdsController::QueryAssociatedLuns

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::QueryActiveControllers