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