utilisation des exemples de Code du kit de développement logiciel (SDK) Windows Media Format
La plupart des sections explicatives de ce kit de développement logiciel incluent des exemples de code. Les exemples sont écrits pour être aussi clairs et concis que possible. Lors de la lecture des exemples, vous devez être conscient des conventions suivantes.
Tous les exemples sont supposés inclure Windows. h et WMSDK. h. Tout autre fichier d’en-tête requis est mentionné dans le texte explicatif.
La vérification des erreurs a été limitée à la séparation de la fonction si une erreur se produit. Dans une application, vous devez vérifier les codes d’erreur spécifiques et fournir un type de rapport d’erreurs.
Lors de la vérification des valeurs de retour des méthodes ou des fonctions qui retournent une valeur HRESULT , vous devez utiliser la macro failed pour déterminer si la valeur de retour indique un échec.
HRESULT hr; hr = SomeFunction(); if (FAILED(hr)) { // Check for specific error values. }La plupart des exemples de cette documentation utilisent une macro nommée GOTO _ Exit _ si _ failed, qui est défini dans le code suivant.
#ifndef GOTO_EXIT_IF_FAILED #define GOTO_EXIT_IF_FAILED(hr) if(FAILED(hr)) goto Exit; #endifCes exemples de fonctions ont chacun une balise nommée « Exit : », après quoi toutes les interfaces et la mémoire allouées dans la fonction sont libérées et le code d’erreur, le cas échéant, est retourné.
Les interfaces et la mémoire sont libérées dans les exemples de code à l’aide de macros nommées libération SÉCURISÉe _ et _ Suppression de tableau sécurisé _ . Ces macros sont définies dans le code suivant :
#ifndef SAFE_RELEASE #define SAFE_RELEASE(x) \ if(x != NULL) \ { \ x->Release(); \ x = NULL; \ } #endif #ifndef SAFE_ARRAY_DELETE #define SAFE_ARRAY_DELETE(x) \ if(x != NULL) \ { \ delete[] x; \ x = NULL; \ } #endifSouvent, vous devrez inclure la logique d’un exemple dans un autre exemple pour que l’exemple soit significatif. Dans ces instances, un commentaire TODO est inclus, avec une référence à l’exemple de code approprié.
Pour faciliter la lecture du code, aucune des fonctions d’exemple de cette documentation ne valident leurs paramètres d’entrée. Si vous copiez l’une de ces fonctions dans votre code, vous devez valider tous les paramètres d’entrée.