Dela via


disable_consistency_check attribut

Instruerar RPC att inte framtvinga kontroll av korrelationskonsekvens.

interface interface-name
{
  return-type function-name(
        [[attribute-list,] disable_consistency_check] param-type param-name
}

För korrelerade parametrar framtvingar RPC att en buffert som inte är null skickas när korrelationsantalvariabeln inte är null.

Exempel

HRESULT PassString( [in] DWORD Length, [in, unique, string, 
    size_is( Length )]LPWSTR MyString );

Om MyString- är NULL-avvisar RPC anropet såvida inte Längd är inställt på 0. Observera att RPC tillåter längd vara 0 medan MyString- inte är NULL, och RPC behandlar MyString- som en buffertallokering med 0 längder.

Anmärkningar

Om du vill inaktivera den här kontrollen kan IDL innehålla attributet [disable_consistency_check] för en parameter, typedef eller pekartyp. Detta leder till att RPC inte framtvingar konsekvensen mellan buffertpekaren och korrelationsvariabeln för bufferten som pekar på parametern eller pekaren.

Om du vill inaktivera konsekvenskontroll för en hel MIDL-kompilering (och inaktivera tillämpningen av kontrollen i alla fall) kan du använda MIDL-kommandoradsväxeln /backward_compat maybenull_sizeis. Detta kräver att målet för MIDL-kompilering är minst â € "mål NT60.