Microsoft DirectX 9.0 |
The ReconnectEx method breaks the existing pin connection and reconnects it to the same pin, using a specified media type.
Applications should not call this method. It is called by filters during the graph building process.
Syntax
HRESULT ReconnectEx(
IPin *ppin,
const AM_MEDIA_TYPE *pmt
);
Parameters
ppin
[in] Pointer to the pin to disconnect and reconnect.
pmt
[in] Pointer to the media type to reconnect with. Specify NULL to use the existing media type.
Return Values
Returns an HRESULT value. Possible values include the following.
Value | Description |
S_OK | Success. |
S_FALSE | Pin was not connected. No error. |
E_FAIL | Failure. |
E_POINTER | Null pointer argument. |
VFW_E_NOT_STOPPED | The filter is not stopped, but it does not support reconnection while in a running state. |
Remarks
Filters can call this method in order to renegotiate a pin connection. The method executes on a separate thread. Before calling this method, call IPin::QueryAccept on the other pin to ensure that the reconnnection attempt will succeed. Do not call this method unless QueryAccept returns S_OK. Otherwise, because the reconnection is performed asynchronously, the reconnection might fail even though the ReconnectEx method succeeds, leaving the filter graph in an inconsistent state.
This method improves on the IFilterGraph::Reconnect method by specifying a media type. This makes the reconnection more likely to succeed.
See Also