Share via


IPMT::GetTableDescriptorByTag method (mpeg2psiparser.h)

[The feature associated with this page, Microsoft TV Technologies, is a legacy feature. Microsoft strongly recommends that new code does not use this feature.]

The GetTableDescriptorByTag method searches the PMT for a table-wide descriptor with the specified descriptor tag.

Syntax

HRESULT GetTableDescriptorByTag(
  [in]      BYTE               bTag,
  [in, out] DWORD              *pdwCookie,
  [out]     IGenericDescriptor **ppDescriptor
);

Parameters

[in] bTag

Specifies the descriptor tag for which to search.

[in, out] pdwCookie

Pointer to a variable that specifies the start position in the descriptor list. This parameter is optional. If the value of pdwCookie is NULL, the search starts from the first descriptor in the list. Otherwise, the search starts from the position given in pdwCookie. When the method returns, the pdwCookie parameter contains the position of the next matching descriptor, if any. You can use this parameter to iterate through the descriptor list, looking for every instance of a particular descriptor tag.

[out] ppDescriptor

Address of a variable that receives an IGenericDescriptor interface pointer. Use this interface to retrieve the information in the descriptor. The caller must release the interface.

Return value

The method returns an HRESULT. Possible values include those in the following table.

Return code Description
MPEG2_E_OUT_OF_BOUNDS
Index out of bounds.
MPEG2_E_NOT_PRESENT
The specified tag was not found.
MPEG2_S_MORE_DATA_AVAILABLE
The record contains at least one more descriptor with this tag.
MPEG2_S_NO_MORE_DATA_AVAILABLE
The record does not contain any more descriptors with this tag.
S_OK
The method succeeded.

Remarks

If the value of pdwCookie is not NULL, the method returns either MPEG2_S_NO_MORE_DATA_AVAILABLE or MPEG2_S_MORE_DATA_AVAILABLE to indicate whether the MGT contains additional tags that match the search criteria.

Requirements

Requirement Value
Target Platform Windows
Header mpeg2psiparser.h

See also

IPMT Interface