|Microsoft DirectX 9.0|
The UnableToRender method is called by the Filter Graph Manager if it cannot find any combination of filters to render the specified pin.
HRESULT UnableToRender( IPin *pPin );
Specifies the IPin interface of the pin that could not be rendered.
If the return value is S_OK, this Filter Graph Manager attempts to render the pin again. For any other return value, including S_FALSE and other success codes, the Filter Graph Manager continues to build the graph as normal. Typically it will reject the current filter and attempt to use a different filter.
The Filter Graph Manager holds a graph-wide critical section while it calls this method. Therefore, the callback method should avoid calling any methods on the Filter Graph Manager, or any methods on filters that might change the graph state (such as disconnecting pins). Doing so might cause a deadlock or other unexpected behaviors. However, it is safe to query the pin for an interface or check the pin's preferred media type. The main use for this method would be to register a new filter, such as a decoder.
This method uses the thiscall calling convention, rather than __stdcall.