atrybut disable_consistency_check
Przekierowuje RPC, aby nie wymuszać sprawdzania spójności korelacji.
interface interface-name
{
return-type function-name(
[[attribute-list,] disable_consistency_check] param-type param-name
}
W przypadku skorelowanych parametrów RPC wymusi przekazanie buforu innego niż null, gdy zmienna licznika korelacji ma wartość inną niż null.
Przykład
HRESULT PassString( [in] DWORD Length, [in, unique, string,
size_is( Length )]LPWSTR MyString );
Jeśli MyString ma wartość null, wywołanie wywołania zostanie odrzucone, chyba że parametr Length ma wartość 0. Należy pamiętać, że RPC zezwoli długość na 0, podczas gdy MyString nie ma wartości NULL, a RPC będzie traktować MyString jako alokację buforu o długości 0.
Uwagi
Aby wyłączyć to sprawdzanie, język IDL może zawierać atrybut [disable_consistency_check] dla parametru, definicji typu lub wskaźnika. Spowoduje to, że RPC nie będzie wymuszać spójności między wskaźnikiem buforu a zmienną korelacji dla buforu wskazywaną przez parametr lub wskaźnik.
Aby wyłączyć sprawdzanie spójności dla całej kompilacji MIDL (i wyłączyć wymuszanie sprawdzania we wszystkich przypadkach), można użyć przełącznika wiersza polecenia MIDL /backward_compat maybenull_sizeis. Wymaga to, aby cel kompilacji MIDL był co najmniej â €"docelowy NT60.