다음을 통해 공유


CDeferredCommand 클래스

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

cdeferredcommand 클래스 계층 구조

지연된 명령은 IQueueCommand 인터페이스의 메서드 호출에 의해 큐에 대기되고 필터 그래프 관리자 및 일부 필터에 의해 노출됩니다. 이러한 메서드 중 하나를 성공적으로 호출하면 큐에 대기 중인 명령을 나타내는 IDeferredCommand 인터페이스가 반환됩니다.

개체는 CDeferredCommand 지연된 단일 명령을 나타내며 IDeferredCommand 인터페이스와 시간 검사 및 실제 실행을 허용하는 다른 메서드를 노출합니다. 개체는 CDeferredCommand 큐에 대기 중인 CCmdQueue 개체에 대한 참조를 포함합니다.

참조 개수는 클래스의 수명을 제어합니다 CDeferredCommand . CDeferredCommand::Invoke 멤버 함수를 호출할 때 호출 애플리케이션은 참조 계산되는 인터페이스 포인터를 가져오고 CCmdQueue 개체는 지연된 명령에 대한 참조 횟수도 보유합니다. IDeferredCommand::Cancel 멤버 함수를 호출하면 지연된 명령이 명령 큐에서 제거되므로 참조 수가 1씩 줄어듭니다. 큐에서 제거한 후에는 명령을 큐에 다시 배치할 수 없습니다.

보호된 데이터 멤버 Description
m_bStream 스트림 시간 또는 프레젠테이션 시간에 대한 플래그입니다. 호출된 메서드에 전달할 입니다.
m_Dispatch ITypeInfo 인터페이스에 액세스합니다.
m_dispidMethod 실행할 인터페이스의 메서드입니다.
m_DispParams DISPPARAMS 매개 변수 목록을 포함하는 CDispParams 개체
m_hrResult 반환된 HRESULT 값을 저장합니다.
m_iid 인터페이스의 GUID(Globally Unique Identifier)입니다.
m_pQueue IQueueCommand 인터페이스를 노출하는 CCmdQueue 개체에 대한 포인터입니다.
m_pUnk 명령을 실행할 인터페이스에 대한 IUnknown 포인터입니다.
m_pvarResult 호출된 메서드의 결과 정보(있는 경우)입니다.
m_time 명령이 실행될 시간입니다.
m_wFlags 호출의 컨텍스트를 지정하는 플래그입니다.
멤버 함수 Description
CDeferredCommand CDeferredCommand 개체를 생성합니다.
GetFlags 지연된 명령과 연결된 컨텍스트 플래그를 검색합니다.
GetIID 메서드가 실행될 인터페이스의 IID(인터페이스 식별자)를 검색합니다.
Getmethod 실행할 메서드의 디스패치 식별자를 검색합니다.
GetParams 메서드에 대한 DISPPARAMS 인수 목록을 검색합니다.
GetResult 인수 목록이 있는 경우 결과 인수 목록을 검색합니다.
GetTime 메서드가 실행될 시간을 검색합니다.
호출 개체에 의해 노출되는 메서드 및 속성에 대한 액세스를 제공합니다.
IsStreamTime 명령을 스트림 시간 또는 프레젠테이션 시간에 실행할지 여부를 지정합니다.
IDeferredCommand 메서드 설명
취소 이전에 큐에 대기한 CDeferredCommand::Invoke 요청을 취소합니다.
신뢰도 현재 구현되지 않습니다.
연기 이전에 큐에 대기한 명령에 대한 새 프레젠테이션 시간을 지정합니다.
GetHResult 호출된 메서드의 HRESULT 값을 검색합니다.