Sdílet prostřednictvím


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".