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.
Přepínač /error určuje typy kontroly chyb, které budou generované zástupné procedury provádět za běhu.
Poznámka:
Tato funkce je zastaralá a už se nepodporuje. Doporučuje se použít přepínač /robust .
midl /error { allocation | stub_data | ref | bounds_check | none | all }
Možnosti přepínače
-
Přidělení
-
Zkontroluje, jestli midl_user_allocate vrací hodnotu NULL označující chybu typu nedostatek paměti.
-
stub_data
-
Vygeneruje zástupný kód, který zachytí výjimky, které na straně serveru nezachytí, a rozšíří je zpět do klienta.
-
Ref
-
Vygeneruje kód, který spustí kontrolu za běhu, aby se zajistilo, že klient nepředá žádné odkazové ukazatele NULL , a vyvolá výjimku RPC_X_NULL_REF_POINTER, pokud nějaké najde.
-
bounds_check
-
Kontroluje velikost vyhovujících a proměnlivých polí podle specifikace délky přenosu.
-
Žádný
-
Neprovádí žádnou kontrolu chyb.
-
Všechny
-
Provede kontrolu všech chyb. Efektivní s MIDL verze 5.0, jedná se o výchozí přepínač kompilátoru.
Poznámky
Přepínač /error vybere počet kontrol chyb, které budou vygenerované soubory zástupných procedur provádět. Efektivní s MIDL verze 5.0, výchozí nastavení je /error all.
Chyby výčtu, které jsou zaškrtnuté (ve výchozím nastavení ve všech verzích MIDL), jsou chyby zkrácení způsobené převodem mezi dlouhými typy výčtů (32bitové celá čísla) a krátkými typy výčtu (reprezentace výčtu síťových dat) a počtem identifikátorů v výčtu přesahujícím 32 767.
Kontrola chyb přístupu k paměti (ve výchozím nastavení ve všech verzích MIDL) je určena pro ukazatele, které překračují konec vyrovnávací paměti v zařazování kódu a pro odpovídající pole, jejichž velikost je menší než nula. Pomocí příznaku /error bounds_check zkontrolujte další neplatné hranice pole.
Když zadáte přidělení /error, zástupné procedury obsahují kód, který vyvolá výjimku při midl_user_allocate vrátí hodnotu 0.
Možnost /error stub_data zabraňuje chybovému ukončení serveru během nesmažení serveru, což efektivně poskytuje robustnější metodu zpracování operace nesmažení.
S Windows 2000 provádí základní modul zařazování oznámení o nedoručení zařazování zařazování za běhu většinu těchto kontrol. To znamená, že pokud používáte jeden z plně interpretovaných režimů (/Oi, /Oif) generování zástupných procedur, výběr různých možností kontroly chyb nebude mít výrazný vliv na výkon.
Příklady
midl /error allocation filename.idl
midl /error none filename.idl
Viz také