atribut disable_consistency_check
Směruje RPC tak, aby nevynucoval kontrolu konzistence korelace.
interface interface-name
{
return-type function-name(
[[attribute-list,] disable_consistency_check] param-type param-name
}
V případě korelačních parametrů rpc vynutí, aby byla předána vyrovnávací paměť, která není null, pokud je proměnná počtu korelací nenulová.
Příklad
HRESULT PassString( [in] DWORD Length, [in, unique, string,
size_is( Length )]LPWSTR MyString );
Pokud myString null, RPC volání odmítne, pokud není nastavena délka 0. Všimněte si, že RPC umožní, aby délka byla 0, zatímco MyString není null, a RPC bude považovat MyString jako přidělení vyrovnávací paměti o délce 0.
Poznámky
Pokud chcete tuto kontrolu zakázat, může IDL obsahovat atribut [disable_consistency_check] u parametru, typedef nebo typu ukazatele. To přesměruje RPC tak, aby nevynucoval konzistenci mezi ukazatelem vyrovnávací paměti a proměnnou korelace pro vyrovnávací paměť, na kterou odkazuje parametr nebo ukazatel.
Chcete-li zakázat kontrolu konzistence pro celou kompilaci MIDL (a zakázat vynucení kontroly ve všech případech), lze použít přepínač příkazového řádku MIDL /backward_compat maybenull_sizeis. To vyžaduje, aby cíl kompilace MIDL byl alespoň "cíl NT60".