CRefTime 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
클래스는 CRefTime
참조 시간을 관리하기 위한 도우미 클래스입니다.
참조 시간은 100나노초 단위로 표시되는 시간 단위입니다. 이 클래스는 REFERENCE_TIME 데이터 형식과 동일한 데이터 레이아웃을 공유하지만 비교, 변환 및 산술 함수를 제공하는 일부 메서드와 연산자를 추가합니다. 참조 시간에 대한 자세한 내용은 DirectShow의 시간 및 시계를 참조하세요.
공용 멤버 변수 | Description |
---|---|
m_time | REFERENCE_TIME 값을 지정합니다. |
Public 메서드 | Description |
CRefTime | 생성자 메서드입니다. |
GetUnits | 참조 시간을 100나노초 단위로 검색합니다. |
밀리초(밀리초) | 참조 시간을 밀리초로 변환합니다. |
연산자 | 설명 |
operator REFERENCE_TIME() | 개체를 REFERENCE_TIME 데이터 형식으로 캐스팅합니다. |
operator= | 새 참조 시간을 할당합니다. |
operator+= | 두 개의 참조 시간을 추가합니다. |
연산자 = | 한 참조 시간을 다른 참조 시간에서 뺍니다. |
설명
이 클래스를 사용할 때 발생할 수 있는 문제가 있습니다. CRefTime 개체를 왼쪽 피연산자로 적용하고 LONG 형식의 변수를 오른쪽 피연산자로 적용하면 컴파일러는 오른쪽 피연산자를 CRefTime 개체로 암시적으로 강제 변환합니다. 이 강제 변환은 밀리초를 REFERENCE_TIME 단위로 변환하는 CRefTime 생성자를 사용합니다. 결과적으로 오른쪽 피연산자는 10,000을 곱합니다.
CRefTime rt; // rt.m_time is 0.
LONG val = 20;
rt += val; // Coerce val to CRefTime, rt.m_time is now 200,000.
그러나 + 연산자를 사용하여 동일한 작업을 수행하지 않습니다.
CRefTime rt; // rt.m_time is 0.
LONG val = 20;
rt = rt + val; // CRefTime, rt.m_time is 20.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|