다음을 통해 공유


CCmdQueue.New 메서드

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

메서드는 New 실행할 명령을 초기화하고 새 CDeferredCommand 개체를 반환합니다.

구문

virtual HRESULT New(
   CDeferredCommand **ppCmd,
   LPUNKNOWN        pUnk,
   REFTIME          time,
   GUID             *iid,
   long             dispidMethod,
   short            wFlags,
   long             cArgs,
   VARIANT          *pDispParams,
   VARIANT          *pvarResult,
   short            *puArgErr,
   BOOL             bStream
);

매개 변수

ppCmd

애플리케이션이 명령을 취소하거나, 새 프레젠테이션 시간을 설정하거나, 예상 정보를 검색할 수 있는 CDeferredCommand 개체에 대한 포인터의 주소입니다.

pUnk

명령을 실행할 개체에 대한 포인터입니다.

time

큐에 대기 중인 명령 또는 명령을 실행할 시간입니다.

Iid

호출할 인터페이스의 GUID(Globally Unique Identifier)에 대한 포인터입니다.

dispidMethod

호출할 인터페이스의 메서드입니다.

wFlags

호출의 컨텍스트를 설명하는 플래그입니다. 이 매개 변수는 IDispatch::Invoke 메서드와 동일한 플래그를 지원합니다.

cArgs

전달된 인수 수입니다.

pDispParams

디스패치 매개 변수와 연결된 변형 형식 목록에 대한 포인터입니다.

pvarResult

결과가 반환될 목록에 대한 포인터입니다.

puArgErr

마지막 오류가 발생한 pDispParams 매개 변수 목록 내의 인덱스에 대한 포인터입니다.

bStream

시간 매개 변수가 스트림 시간 값(TRUE) 또는 프레젠테이션 시간 값(FALSE)인지 여부를 나타내는 값입니다.

반환 값

성공하면 S_OK 반환합니다. 값이 NULL인 새 CDeferredCommand 개체를 만든 후 ppCmd가 반환되면 E_OUTOFMEMORY 반환합니다. 그렇지 않으면 은 새 CDeferredCommand 개체를 만들려고 할 때 발생하는 오류를 나타내는 HRESULT를 반환합니다. 오류가 발생하면 대기 중인 개체가 없습니다.

설명

CDeferredCommand 개체는 매개 변수를 사용하여 초기화되며 생성 중에 큐에 추가됩니다. 이 메서드는 IDispatch::Invoke 메서드와 비슷합니다.

wFlags 매개 변수의 값은 다음과 같습니다.

Description
DISPATCH_METHOD 멤버가 메서드로 실행되고 있습니다. 속성의 이름이 같으면 이 플래그와 DISPATCH_PROPERTYGET 플래그를 모두 설정할 수 있습니다.
DISPATCH_PROPERTYGET 멤버가 속성 또는 데이터 멤버로 검색되고 있습니다.
DISPATCH_PROPERTYPUT 멤버가 속성 또는 데이터 멤버로 변경되고 있습니다.
DISPATCH_PROPERTYPUTREF 멤버는 값 할당이 아닌 참조 할당을 통해 변경됩니다. 이 값은 속성이 개체에 대한 참조를 수락하는 경우에만 유효합니다.

요구 사항

요구 사항
헤더
Winutil.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

CCmdQueue 클래스