Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
[Funkce přidružená k této stránce, Windows Media Format 11 SDK, je starší funkce. Byla nahrazena čtečka zdroje a zapisovač jímky. Zdrojový čtečka a destičkový zapisovač jsou optimalizovány pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal Source Reader a Sink Writer místo Windows Media Format 11 SDK, kdykoli je to možné. Microsoft navrhuje, aby se stávající kód, který používá starší rozhraní API, přepsal, aby se nová rozhraní API používala, pokud je to možné.]
Řada vysvětlujících částí této sady SDK obsahuje příklady kódu. Příklady jsou napsané tak, aby byly co nejjasnější a stručné. Při čtení příkladů byste měli vědět o následujících konvencích.
Předpokládá se, že všechny příklady zahrnují windows.h a wmsdk.h. Všechny ostatní požadované soubory hlaviček jsou uvedeny v vysvětlujícím textu.
Kontrola chyb byla omezena na přerušení funkce, pokud dojde k chybě. V aplikaci byste měli zkontrolovat konkrétní kódy chyb a poskytnout nějaký druh hlášení chyb.
Při kontrole návratových hodnot z metod nebo funkcí, které vrací hodnotu HRESULT, byste měli použít makro FAILED k zjištění, zda vrácená hodnota značí selhání.
HRESULT hr; hr = SomeFunction(); if (FAILED(hr)) { // Check for specific error values. }Mnoho příkladů v této dokumentaci používá makro s názvem GOTO_EXIT_IF_FAILED, které je definováno v následujícím kódu.
#ifndef GOTO_EXIT_IF_FAILED #define GOTO_EXIT_IF_FAILED(hr) if(FAILED(hr)) goto Exit; #endifTyto ukázkové funkce mají značku s názvem Exit:, po které se uvolní všechna rozhraní a paměť přidělená ve funkci a vrátí se kód chyby( pokud existuje).
Rozhraní a paměť jsou v ukázkách kódu uvolněna s použitím maker pojmenovaných SAFE_RELEASE a SAFE_ARRAY_DELETE. Tato makra jsou definována v následujícím kódu:
#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; \ } #endifČasto budete muset zahrnout logiku jednoho příkladu do jiného příkladu, aby byl příklad smysluplný. V těchto případech je komentář todo zahrnutý s odkazem na příslušný příklad kódu.
Aby se kód snadněji četl, žádný z ukázkových funkcí v této dokumentaci neověřuje vstupní parametry. Pokud do kódu zkopírujete některou z těchto funkcí, měli byste ověřit všechny vstupní parametry.
Související témata