Attributo disable_consistency_check
Indirizza RPC a non applicare il controllo coerenza di correlazione.
interface interface-name
{
return-type function-name(
[[attribute-list,] disable_consistency_check] param-type param-name
}
Per i parametri correlati, RPC impone che venga passato un buffer non Null quando la variabile del conteggio di correlazioni è non Null.
Esempio
HRESULT PassString( [in] DWORD Length, [in, unique, string,
size_is( Length )]LPWSTR MyString );
Se MyString è NULL, RPC rifiuterà la chiamata a meno che Length non sia impostato su 0. Si noti che RPC consentirà a Length di essere pari a 0 mentre MyString è diverso da NULL e RPC considererà MyString come allocazione del buffer di lunghezza 0.
Commenti
Per disabilitare questo controllo, il file IDL può contenere l'attributo [disable_consistency_check] in un tipo di parametro, typedef o puntatore. In questo modo RPC non verrà applicata la coerenza tra il puntatore del buffer e la variabile di correlazione per il buffer a cui punta il parametro o il puntatore.
Per disabilitare la verifica della coerenza per un'intera compilazione MIDL (e disabilitare l'applicazione del controllo in tutti i casi), è possibile usare l'opzione della riga di comando MIDL /backward_compat maybenull_sizeis . Ciò richiede che la destinazione della compilazione MIDL sia almeno â€"target NT60.