Udostępnij za pośrednictwem


Obsługa błędów w modelu COM (COM)

Prawie wszystkie funkcje i metody interfejsu COM zwracają wartość typu HRESULT. HRESULT (nazwa może być odczytywana jako "uchwyt wyniku") to sposób zwracania wartości powodzenia, ostrzeżenia lub błędu. HRESULT nie jest w rzeczywistości uchwytem (zobacz Dlaczego HRESULT zaczyna się od H, gdy nie jest to uchwyt do niczego?); jest to tylko wartość z kilkoma polami zakodowanymi w nim. Zgodnie ze specyfikacją MODELU COM wynik zerowy wskazuje powodzenie, a wynik niezerowy wskazuje błąd.

Na poziomie kodu źródłowego wszystkie wartości błędów składają się z trzech części rozdzielonych podkreśleniami. Pierwsza część to prefiks identyfikujący obiekt skojarzony z błędem, druga część to E dla błędu, a trzecia część to ciąg opisujący rzeczywisty warunek. Na przykład STG_E_MEDIUMFULL jest zwracana, gdy na dysku twardym nie ma miejsca. Prefiks stG wskazuje magazyn, E wskazuje, że kod stanu reprezentuje błąd, a MEDIUMFULL zawiera szczegółowe informacje o błędzie. Wiele wartości, które mogą być zwracane z metody interfejsu lub funkcji, są zdefiniowane w pliku Winerror.h.

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz następujące sekcje:

kody błędów com COM