Atributo disable_consistency_check
Orienta o RPC a não impor a verificação de consistência de correlação.
interface interface-name
{
return-type function-name(
[[attribute-list,] disable_consistency_check] param-type param-name
}
Para parâmetros correlacionados, o RPC imporá que um buffer não nulo seja passado quando a variável de contagem de correlação não for nula.
Exemplo
HRESULT PassString( [in] DWORD Length, [in, unique, string,
size_is( Length )]LPWSTR MyString );
Se MyString for NULL, o RPC rejeitará a chamada, a menos que Length esteja definido como 0. Observe que o RPC permitirá que Length seja 0 enquanto MyString não for NULL e o RPC tratará MyString como uma alocação de buffer de 0 comprimento.
Comentários
Para desabilitar essa verificação, a IDL pode conter o atributo [disable_consistency_check] em um parâmetro, typedef ou tipo de ponteiro. Isso fará com que o RPC não imponha a consistência entre o ponteiro do buffer e a variável de correlação para o buffer apontado pelo parâmetro ou ponteiro.
Para desabilitar a verificação de consistência de uma compilação MIDL inteira (e desabilitar a imposição da verificação em todos os casos), o comutador de linha de comando MIDL /backward_compat maybenull_sizeis pode ser usado. Isso exige que o destino da compilação MIDL seja pelo menos "target NT60".