Microsoft DirectX 8.0

IDeferredCommand Interface

Enables an application to cancel or modify graph-control commands that the application previously queued using the IQueueCommand interface.

When an application calls an IQueueCommand method on the filter graph manager, it receives a pointer to the IDeferredCommand interface. The application can use the interface to cancel or postpone the command, or retrieve the return value from the command.

Methods in Vtable Order

IUnknown methodsDescription
QueryInterface Retrieves pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IDeferredCommand methodsDescription
Cancel Cancels a command that the application previously queued.
Confidence Retrieves a confidence value that indicates how likely it is for the command to be invoked at the requested time.
Postpone Specifies a new invocation time for the command.
GetHResult Retrieves the return value from the invoked command.

IDeferredCommand::Cancel

IDeferredCommand Interface

Cancels a command that the application previously queued.

Syntax

HRESULT Cancel(void);

Return Value

Returns S_OK if successful. If the request was already canceled, returns VFW_E_ALREADY_CANCELLED.

IDeferredCommand::Confidence

IDeferredCommand Interface

Retrieves a confidence value that indicates how likely it is for the command to be invoked at the requested time.

This method is not implemented and returns E_NOTIMPL.

Syntax

HRESULT Confidence(
    LONG *pConfidence
);

Parameters

pConfidence
Pointer to a variable that receives the confidence level, on a scale of 0 to 100.

Return Value

Returns E_NOTIMPL.

IDeferredCommand::GetHResult

IDeferredCommand Interface

Retrieves the return value from the invoked command.

Syntax

HRESULT GetHResult(
    HRESULT *phrResult
);

Parameters

phrResult
Pointer to a variable that receives the HRESULT value.

Return Value

Returns an HRESULT value. Possible values include the following.

S_OKSuccess.
E_ABORTCommand has not yet been invoked.
E_POINTERNULL pointer argument.

IDeferredCommand::Postpone

IDeferredCommand Interface

Specifies a new invocation time for the command.

Syntax

HRESULT Postpone(
    REFTIME newtime
);

Parameters

newtime
New time at which to invoke the command.

Return Value

Returns S_OK if successful. If the requested time has already passed, returns VFW_E_TIME_ALREADY_PASSED.