Condividi tramite


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.