IClosable.Close 메서드

정의

Windows 런타임 개체에 의해 노출되는 시스템 리소스를 해제합니다.

.Net 이 인터페이스는 System.IDisposable로 표시됩니다.

C++/CX 이 인터페이스는 Platform::IDisposable로 표시됩니다.

public:
 void Close();
void Close();
public void Close();
function close()
Public Sub Close ()

설명

다음은 주로 WRL과 관련된 구현/호출자 참고 사항입니다.

구현자에 대한 참고 사항

이 메서드를 구현하여 파일 핸들, 스트림 및 네트워크 소켓과 같이 사용 중인 전용 시스템 리소스를 해제합니다. 또한 메서드는 개체 참조 및 메모리를 포함하여 사용 중인 다른 리소스를 해제하여 재사용을 준비해야 합니다.

이 메서드는 IClosable을 구현하는 모든 개체의 Close 메서드를 호출해야 합니다.

Close 메서드는 비동기 작업이 완료될 수 있도록 차단하지 않고 시스템 리소스를 가능한 한 빨리 해제해야 합니다. 모든 리소스가 완전히 해제되도록 하려면 호출자는 Close를 호출하기 전에 모든 미해결 비동기 작업이 완료될 때까지 기다려야 합니다.

Close가 반환된 후에도 개체는 메모리에 있지만 필요한 시스템 리소스가 없습니다. 따라서 대부분의 멤버를 사용할 수 없습니다. 릴리스된 시스템 리소스에 의존하는 멤버는 RO_E_CLOSED 반환하여 개체가 닫혀 있고 요청된 작업을 완료할 수 없음을 나타낼 수 있습니다.

발신자에 대한 참고 사항

Close를 여러 번 호출하면 효과가 없습니다. 메서드는 S_OK 반환합니다.

닫기 메서드는 클래스가 IClosable을 구현한 Windows 런타임 클래스 인스턴스에서 C++/CX를 통해 호출할 수 없지만 현재 scope 끝에 자동으로 호출됩니다. 런타임 클래스에 대한 C++/CX 코드는 소멸자를 호출하거나 마지막 참조를 null로 설정해야 합니다.

C#에서 이 메서드는 Dispose로 노출됩니다. Dispose를 직접 호출하거나 using 문을 사용할 수 있습니다.

적용 대상