Interfaces Reference


This section defines the interfaces needed to add audio and video codec formats for use with NetMeeting.

Create_Instance
IInstallAudioCodecs
IInstallVideoCodecs

Create Instance

Use the standard COM CreateInstance API to instantiate a CInstallCodecs object with the CreateInstallCodecs interface. For more information on Create Instance, see Inside OLE, Second Edition.

CreateInstallCodecs

HRESULT CreateInstallCodecs(
LPUNKNOWN punkOuter,
REFIID riid,
LPVOID * ppv);

Creates an instance of the CInstallCodecs object, and returns the requested interface. This function should only be called indirectly through CoCreateInstance.

punkOuter
Pointer to an indicator that reveals whether or not the object is part of an aggregate.
riid
Reference to the identifier of the interface.
ppv
Indirect pointer to the requested interface.

CreateInstallCodecs should not be called directly. Clients of installable codecs should use the COM CoCreateInstance function to instantiate the object, expecting the same return values.

Up ArrowBack to Interfaces Reference

IInstallAudioCodecs

This interface provides methods for adding audio codec formats for use with NetMeeting, as well as removing these formats, enumerating them, and changing their use order.
AddACMFormat
EnumFormats
FreeBuffer
RemoveACMFormat
ReorderFormats

Up ArrowBack to Interfaces Reference

IInstallAudioCodecs::AddACMFormat

HRESULT AddACMFormat(
LPWAVEFORMATEX lpwfx,
PAUDCAP_INFO pAudCapInfo);

Adds an ACM encoding format for use with NetMeeting.

lpwfx
Address of the WAVEFORMATEX structure of the format to add.
pAudCapInfo
Additional format information that is not in the WAVEFORMATEX structure.

Up ArrowBack to IInstallAudioCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallAudioCodecs::EnumFormats

HRESULT EnumFormats(
PAUDCAP_INFO_LIST * ppAudCapInfoList);

Enumerates the audio codec formats known to NetMeeting.

ppAudCapInfoList
Address of a pointer to an AUDCAP_INFO_LIST structure that lists the enumerated formats.

The caller is expected to free the returned list by calling IInstallAudioCodecs::FreeBuffer on the same interface.

Up ArrowBack to IInstallAudioCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallAudioCodecs::FreeBuffer

HRESULT FreeBuffer(
LPVOID lpBuffer);

Frees a buffer that was returned by the IInstallAudioCodecs interface.

lpBuffer
Address of the buffer to free. This buffer must have been allocated by one of the IInstallAudioCodecs methods.

Up ArrowBack to IInstallAudioCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallAudioCodecs::RemoveACMFormat

HRESULT RemoveACMFormat(
LPWAVEFORMATEX lpwfx);

Removes an ACM format from the list of formats used by NetMeeting.

lpwfx
Address of the WAVEFORMATEX structure for the format to remove.

Up ArrowBack to IInstallAudioCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallAudioCodecs::ReorderFormats

HRESULT ReorderFormats(
PAUDCAP_INFO_LIST pAudCapInfoList);

Reorders the audio formats for use with NetMeeting.

pAudCapInfoList
Address of the AUDCAP_INFO_LIST structure containing a pointer to the list of formats to reorder and the number of formats in the list.

Since this method can only reorder formats that are known to NetMeeting, it is recommended that the caller first call IInstallAudioCodecs::EnumFormats to get all formats known to NetMeeting, assign new sort indexes (wSortIndex), and then call IInstallAudioCodecs::ReorderFormats with the modified list.

Arranging the formats in a specific order by using IInstallAudioCodecs::ReorderFormats does not guarantee that the top-ranked formats will be used before lower-ranked formats are used. For example, if the sending system is not capable of encoding a top-ranked format, this format will not be used. The same will happen if the receiving system cannot decode this format.

Up ArrowBack to IInstallAudioCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallVideoCodecs

This interface provides methods for adding video codec formats for use with NetMeeting, as well as removing these formats, enumerating them, and changing their use order.
AddVCMFormat
EnumFormats
FreeBuffer
RemoveVCMFormat
ReorderFormats

Up ArrowBack to Interfaces Reference

IInstallVideoCodecs::AddVCMFormat

HRESULT AddVCMFormat(
PVIDCAP_INFO pVidCapInfo);

Adds a video encoding format for use with NetMeeting.

pVidCapInfo
Pointer to the address of the structure.

Up ArrowBack to IInstallVideoCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallVideoCodecs::EnumFormats

HRESULT EnumFormats(
PVIDCAP_INFO_LIST * ppVidCapInfoList);

Enumerates the video codec formats known to NetMeeting.

ppVidCapInfoList
Address of a pointer to a VIDCAP_INFO_LIST structure that lists the enumerated formats.

The caller is expected to free the returned list by calling IInstallVideoCodecs::FreeBuffer on the same interface.

Up ArrowBack to IInstallVideoCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallVideoCodecs::FreeBuffer

HRESULT FreeBuffer(
LPVOID lpBuffer);

Frees a buffer that was returned by the IInstallVideoCodecs interface.

lpBuffer
Address of the buffer to free. This buffer must have been allocated by one of the IInstallVideoCodecs methods

Up ArrowBack to IInstallVideoCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallVideoCodecs::RemoveVCMFormat

HRESULT RemoveVCMFormat(
PVIDCAP_INFO pVidCapInfo);

Removes a video format from the list of formats used by NetMeeting.

pVidCapInfo
Address of the VIDCAP_INFO structure describing the format to remove.

Up ArrowBack to IInstallVideoCodecs Interface

Up ArrowBack to Interfaces Reference

IInstallVideoCodecs::ReorderFormats

HRESULT ReorderFormats(
PVIDCAP_INFO_LIST pVidCapInfoList);

Reorders the video formats for use with NetMeeting.

pVidCapInfoList
Address of the VIDCAP_INFO_LIST structure containing a pointer to the list of formats to reorder and the number of formats in the list.

Since this method can only reorder formats that are known to NetMeeting, it is recommended that the caller first call IInstallVideoCodecs::EnumFormats to get all formats known to NetMeeting, assign new sort indexes (wSortIndex), and then call IInstallVideoCodecs::ReorderFormats with the modified list.

Arranging the formats in a specific order by using IInstallVideoCodecs::ReorderFormats does not guarantee that the top-ranked formats will be used before lower-ranked formats are used. For example, if the sending system is not capable of encoding a top-ranked format, this format will not be used. The same will happen if the receiving system cannot decode this format.

Up ArrowBack to IInstallVideoCodecs Interface

Up ArrowBack to Interfaces Reference

Last Updated: November 1, 1997
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.