IClientVirtualDeviceSet2::Close(VDI)

적용 대상:SQL Server

Close 함수는 IClientVirtualDeviceSet2::Create에서 만든 가상 디바이스 집합을 닫습니다. 그러면 가상 디바이스 집합과 연결된 모든 리소스가 릴리스됩니다.

구문

HRESULT IClientVirtualDeviceSet2::Close ();

반환 값

반환 값 설명
NOERROR 가상 디바이스 집합이 성공적으로 닫혔을 때 반환됩니다.
VD_E_PROTOCOL 가상 디바이스 집합이 열려 있지 않아서 아무 작업도 수행되지 않았습니다.
VD_E_OPEN 장치가 여전히 열려 있었습니다.

설명

Close 호출은 가상 디바이스 집합에서 사용하는 모든 리소스를 해제해야 한다는 클라이언트의 선언입니다. 클라이언트는 Close를 호출하기 전에 데이터 버퍼 및 가상 디바이스와 관련된 모든 작업이 종료되었는지 확인해야 합니다. OpenDevice에서 반환된 모든 가상 디바이스 인터페이스는 Close에 의해 무효화됩니다.

클라이언트는 Close 호출이 반환된 후 가상 디바이스 집합 인터페이스에서 Create 호출을 실행하도록 허용됩니다. 이러한 호출은 후속 BACKUP 또는 RESTORE 작업에 대한 새 가상 디바이스 집합을 만듭니다.

하나 이상의 가상 디바이스가 여전히 열려 있을 때 Close가 호출되면 VD_E_OPEN 반환됩니다. 이 경우 SignalAbort는 내부적으로 트리거되어 가능한 경우 적절한 종료를 보장합니다. VDI 리소스가 릴리스됩니다. 클라이언트는 IClientVirtualDeviceSet2::Close를 호출하기 전에 각 디바이스에서 VD_E_CLOSE 표시를 기다려야 합니다. 클라이언트가 가상 디바이스 집합이 이미 비정상적으로 종료된 상태임을 알고 있는 경우 GetCommand에서 VD_E_CLOSE 표시를 기대하지 않아야 하며 공유 버퍼에 대한 작업이 종료되는 즉시 IClientVirtualDeviceSet2::Close를 호출할 수 있습니다.

다음 단계

자세한 내용은 SQL Server 가상 디바이스 인터페이스 참조 개요를 참조 하세요.