DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CDeferredCommand [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
지연 커멘드는,IQueueCommand 인터페이스에서의 메서드의 호출에 의해 큐에 넣어져 필터 그래프 매니저 및 일부의 필터에 의해 공개된다. 이러한 메서드의 호출이 성공하면 큐에 넣어진 커멘드를 나타내는 IDeferredCommand 인터페이스가 반환된다.
CDeferredCommand 개체는 단일의 지연 커멘드를 나타내,IDeferredCommand 인터페이스 및 타임 체크와 실제의 실행을 가능하게 하는 그 외의 메서드를 공개한다. CDeferredCommand 개체에는, 넣을 수 있는 큐가 되는 CCmdQueue 개체에의 참조가 포함된다.
참조 카운트에 의해,CDeferredCommand 클래스의 유효기간을 제어한다. CDeferredCommand::Invoke 멤버 함수를 호출하면, 호출원의 애플리케이션은 참조가 카운트 된 인터페이스 포인터를 취득해,CmdQueue 개체도 지연 커멘드의 참조 카운트를 보관 유지한다. IDeferredCommand::Cancel 멤버 함수를 호출하면, 지연 커멘드는 커멘드 큐로부터 삭제되어 참조 카운트가 1 개 줄어든다. 커멘드를 큐로부터 삭제 하면, 큐에 되돌릴 수 없다.
프로텍트 데이터 멤버
m_bStream | 불려 가는 메서드에 건네주는 |
m_Dispatch | ITypeInfo 인터페이스에 액세스 한다. |
m_dispidMethod | 실행하는 인터페이스 위에의 메서드. |
m_DispParams | DISPPARAMS 파라미터 리스트를 포함한 CDispParams 개체. |
m_hrResult | 돌려받는 HRESULT 값을 저장 한다. |
m_iid | 인터페이스의 글로벌 일의 식별자 (GUID). |
m_pQueue | IQueueCommand 인터페이스를 공개하는 CCmdQueue 개체의 포인터. |
m_pUnk | 커멘드가 실행되는 인터페이스에의 IUnknown 포인터. |
m_pvarResult | 불려 간 메서드로부터의 결과의 정보. |
m_time | 커멘드가 실행되는 시간. |
m_wFlags | 호출의 문맥을 지정하는 플래그. |
멤버 함수
CDeferredCommand | CDeferredCommand 개체를 생성 한다. |
GetFlags | 이 지연 커멘드에 관련된 문맥 플래그를 얻어온다. |
GetIID | 메서드가 실행되는 인터페이스의 인터페이스 식별자 (IID)를 얻어온다. |
GetMethod | 실행되는 메서드의 발신 식별자를 얻어온다. |
GetParams | 메서드의 DISPPARAMS 인수 리스트를 얻어온다. |
GetResult | 결과의 인수 리스트가 있으면, 그것을 얻어온다. |
GetTime | 메서드가 실행되는 시간을 얻어온다. |
Invoke | 개체에 의해 공개되는 메서드 및 프로퍼티에의 액세스를 제공한다. |
IsStreamTime | 커멘드를 스트림 타임 또는 프레젠테이션 타임의 어디에서 실행하는지를 지정한다. |
처리 되는 IDeferredCommand 메서드
Cancel | 이전에 큐에 넣어진 CDeferredCommand::Invoke 요구를 취소한다. |
Confidence | 현재는 처리되지 않다. |
Postpone | 이전에 큐에 넣어진 커멘드의 새로운 프레젠테이션 타임을 지정한다. |
GetHResult | 호출한 메서드의 HRESULT 값을 얻어온다. |