CUnknown 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
CUnknown 클래스는 IUnknown 인터페이스를 구현합니다. DirectShow의 대부분의 COM(구성 요소 개체 모델) 개체는 CUnknown에서 파생됩니다.
COM 개체를 구현하는 경우 CUnknown에서 파생할 수 있습니다. CUnknown에서 파생하면 스레드로부터 안전한 구현이 제공되고 IUnknown을 구현하는 데 문제가 발생합니다.
이 기본 클래스를 사용하는 방법에 대한 자세한 내용은 IUnknown을 구현하는 방법을 참조하세요. 다음은 간략한 요약입니다.
- 클래스 정의의 공용 섹션에 DECLARE_IUNKNOWN 매크로를 포함합니다. 이 매크로는 IUnknown 인터페이스의 세 가지 메서드를 선언합니다.
- IUnknown 이외의 인터페이스를 지원하도록 NonDelegatingQueryInterface 메서드를 재정의합니다. 이 메서드 내에서 GetInterface 함수를 호출하여 인터페이스 포인터를 검색합니다.
- 클래스 생성자에서 CUnknown 생성자 메서드를 호출합니다.
보호된 멤버 변수 | Description |
---|---|
m_cRef | 참조 수입니다. |
Public 메서드 | Description |
CUnknown | 생성자 메서드입니다. |
~ CUnknown | 소멸자 메서드입니다. 가상. |
GetOwner | 제어하는 IUnknown에 대한 포인터를 가져옵니다. |
INonDelegatingUnknown 메서드 | Description |
NonDelegatingAddRef | 참조 수를 증분합니다. |
NonDelegatingQueryInterface | 인터페이스 포인터를 검색하고 참조 수를 증분합니다. |
NonDelegatingRelease | 참조 수를 감소합니다. |
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|