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.
Pro označení úspěchu nebo selhání vrátí metody a funkce MODELU COM hodnotu typu HRESULT. HRESULT je 32bitové celé číslo. Vysoce uspořádaný bit HRESULT signalizuje úspěch nebo selhání. Nula (0) označuje úspěch a 1 značí selhání.
Výsledkem jsou následující číselné rozsahy:
- Kódy úspěchu: 0x0–0x7FFFFFFF.
- Kódy chyb: 0x80000000–0xFFFFFFFF.
Malý počet metod MODELU COM nevrací hodnotu HRESULT. Například metody AddRef a Release vracejí dlouhé hodnoty bez znaménka. Každá COM metoda, která vrací kód chyby, to provede vrácením hodnoty HRESULT.
Chcete-li zjistit, zda metoda COM proběhla úspěšně, zkontrolujte nejvyšší bit vráceného HRESULT. Hlavičky sady Windows SDK poskytují dvě makra, která usnadňují práci: makro SUCCEEDED a makro FAILED. Makro SUCCEEDED vrátí TRUE, pokud je HRESULT kód úspěchu, a FALSE, pokud se jedná o kód chyby. Následující příklad zkontroluje, zda CoInitializeEx proběhne úspěšně.
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED |
COINIT_DISABLE_OLE1DDE);
if (SUCCEEDED(hr))
{
// The function succeeded.
}
else
{
// Handle the error.
}
Někdy je vhodnější otestovat inverzní podmínku. Makro SELHALO dělá opak USPĚLO. Vrátí TRUE pro kód chyby a FALSE pro kód úspěchu.
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED |
COINIT_DISABLE_OLE1DDE);
if (FAILED(hr))
{
// Handle the error.
}
else
{
// The function succeeded.
}
Později v tomto modulu se podíváme na několik praktických rad, jak strukturovat kód pro zpracování chyb modelu COM. (Viz nakládání s chybami v COM.)
Další
Vytvoření objektu v modelu COM