CBasePin::TryMediaTypes

Determines a media type for a pin connection.

virtual HRESULT TryMediaTypes(
  IPin* pReceivePin,
  const CMediaType* pmt,
  IEnumMediaTypes* pEnum
);

Parameters

  • pReceivePin
    Pointer to the IPin interface of the receiving pin.
  • pmt
    Pointer to a returned media type.
  • pEnum
    Pointer to an IEnumMediaTypes enumerator interface.

Return Values

Returns an HRESULT value, which can include the following.

Value Description
FAILED Resetting of the enumerator failed.
NOERROR Media type found.
VFW_E_NO_ACCEPTABLE_TYPES No acceptable media types were found.

Remarks

Given an enumerator, this member function cycles through all the media types proposed by the enumerator. Each type is suggested to the derived pin class and, if acceptable, is tried with the connected pin in a call to the IPin::ReceiveConnection method. This means that if the owning pin proposes a media type, it is still checked to determine whether it is supported. This is deliberate so that, in simple cases, the enumerator can hold all the media types, even if some of them are not currently available.

This member function is protected.

Requirements

DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header:

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.