Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Växeln /error avgör vilka typer av felkontroll som de genererade stubsna ska utföra vid körning.
Anmärkning
Den här funktionen är föråldrad och stöds inte längre. Användning av /robust växel rekommenderas.
midl /error { allocation | stub_data | ref | bounds_check | none | all }
Växla alternativ
-
Tilldelning
-
Kontrollerar om midl_user_allocate returnerar ett NULL-värde , vilket indikerar ett out-of-memory-fel.
-
stub_data
-
Genererar en stub som fångar upp unmarshaling-undantag på serversidan och sprider dem tillbaka till klienten.
-
Referens
-
Genererar kod som kör en kontroll vid körning för att säkerställa att inga NULL-referenspekare skickas till klientstubbarna och genererar ett RPC_X_NULL_REF_POINTER undantag om det hittar några.
-
bounds_check
-
Kontrollerar storleken på överensstämmande och varierande matriser mot specifikationen för överföringslängd.
-
Ingen
-
Utför ingen felkontroll.
-
Alla
-
Utför alla felkontroller. Från och med MIDL version 5.0 är detta en standardkompilatorväxel.
Anmärkningar
Växeln /error väljer antalet felkontroller som de genererade stub-filerna ska utföra. Från och med MIDL version 5.0 är standardinställningen /error all.
Uppräkningsfelen som kontrolleras (som standard i alla versioner av MIDL) är trunkeringsfel som orsakas vid konvertering mellan långa uppräkningstyper (32-bitars heltal) och korta uppräkningstyper (nätverksdatarepresentation av uppräkning) och antalet identifierare i en uppräkning som överstiger 32 767.
Felkontrollen för minnesåtkomst (även som standard i alla versioner av MIDL) är för pekare som överskrider slutet av bufferten i marskalkningskoden och för överensstämmande matriser vars storlek är mindre än noll. Använd flaggan /error bounds_check för att söka efter andra ogiltiga matrisgränsen.
När du anger /error-allokering innehåller stubs kod som skapar ett undantag när midl_user_allocate returnerar 0.
Alternativet /error stub_data förhindrar att klientdata kraschar servern under unmarshaling, vilket effektivt ger en mer robust metod för att hantera unmarshaling-åtgärden.
Med Windows 2000 utför den underliggande NDR-marskalkningsmotorn för körning de flesta av dessa kontroller. Det innebär att om du använder något av de fullständigt tolkade lägena (/Oi, /Oif) för stub-genereringen kommer valet av olika alternativ för felkontroll inte att ha någon markant effekt på prestandan.
Exempel
midl /error allocation filename.idl
midl /error none filename.idl
Se även