IWMDMDevice ::GetFormatSupport, méthode (mswmdm.h)
La méthode GetFormatSupport récupère tous les formats pris en charge par l’appareil, y compris les codecs et les formats de fichiers.
Syntaxe
HRESULT GetFormatSupport(
[out] _WAVEFORMATEX **ppFormatEx,
[out] UINT *pnFormatCount,
[out] LPWSTR **pppwszMimeType,
[out] UINT *pnMimeTypeCount
);
Paramètres
[out] ppFormatEx
Pointeur vers un tableau de structures _WAVEFORMATEX spécifiant des informations sur les codecs et les débits binaires pris en charge par l’appareil. Windows Media Gestionnaire de périphériques alloue la mémoire pour ce paramètre ; l’appelant doit la libérer à l’aide de CoTaskMemFree.
[out] pnFormatCount
Pointeur vers le nombre d’éléments dans le tableau ppFormatEx .
[out] pppwszMimeType
Pointeur vers un tableau décrivant les formats de fichiers et les schémas de gestion des droits numériques pris en charge par l’appareil. Windows Media Gestionnaire de périphériques alloue la mémoire pour ce paramètre ; l’appelant doit la libérer à l’aide de CoTaskMemFree.
[out] pnMimeTypeCount
Pointeur vers le nombre d’éléments dans le tableau pppwszMimeType .
Valeur retournée
Cette méthode retourne un code HRESULT. Toutes les méthodes d’interface dans Windows Media Gestionnaire de périphériques peuvent retourner l’une des classes de codes d’erreur suivantes :
- Codes d’erreur COM standard
- Codes d’erreur Windows convertis en valeurs HRESULT
- Codes d’erreur Gestionnaire de périphériques Windows Media
Remarques
La méthode recommandée pour récupérer les formats pris en charge par l’appareil est IWMDMDevice3 ::GetFormatCapability.
Exemples
La fonction C++ suivante récupère différentes fonctionnalités d’appareil.
// Function to print out device caps for a device that supports
// only IWMDMDevice.
void GetCaps(IWMDMDevice* pDevice)
{
HRESULT hr = S_OK;
// Get all capabilities for audio and mime support.
_WAVEFORMATEX* pAudioFormats;
LPWSTR* pMimeFormats;
UINT numAudioFormats = 0;
UINT numMimeFormats = 0;
hr = pDevice->GetFormatSupport(
&pAudioFormats,
&numAudioFormats,
&pMimeFormats,
&numMimeFormats);
HANDLE_HR(hr, "Got audio and mime formats in GetCaps IWMDMDevice", "Couldn't get audio and mime formats in GetCaps IWMDMDevice");
// Print out audio format data.
if (numAudioFormats > 0)
{
/ /TODO: Display a banner to precede the supported formats.
}
else
{
// TODO: Display a message indicating that no formats are supported.
}
for(int i = 0; i < numAudioFormats; i++)
{
// TODO: Display a configuration value.
PrintWaveFormatGuid(pAudioFormats[i].wFormatTag);
// TODO: Display a max channel value.
// TODO: Display a max samples/second value.
// TODO: Display the max bytes/second value.
// TODO: Display the block alignment value.
// TODo: Display the max bits/sample value.
}
// Print out MIME formats.
if (numMimeFormats > 0)
// TODO: Display a banner for the MIME format listing.
else
/ /TODO: Display a message indicating that no MIME formats are supported.
for(i = 0; i < numMimeFormats; i++)
{
// TODO: Display each individual MIME format.
}
e_Exit:
return;
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | mswmdm.h |
Bibliothèque | Mssachlp.lib |
Voir aussi
Découverte des fonctionnalités de format d’appareil