disable_consistency_check属性
相関整合性チェックを適用しないように RPC に指示します。
interface interface-name
{
return-type function-name(
[[attribute-list,] disable_consistency_check] param-type param-name
}
相関パラメーターの場合、RPC は、相関カウント変数が null 以外の場合に null 以外のバッファーが渡されるように強制します。
例
HRESULT PassString( [in] DWORD Length, [in, unique, string,
size_is( Length )]LPWSTR MyString );
myString が NULL 場合、Length が 0 に設定されていない限り、RPC は呼び出しを拒否します。 MyString が NULL でない場合、RPC では Length を 0 にすることができ、RPC は MyString を 0 長のバッファー割り当てとして扱うことに注意してください。
備考
このチェックを無効にするには、IDL にパラメーター、typedef、またはポインター型の [disable_consistency_check] 属性を含めることができます。 これにより、RPC は、バッファー ポインターと、パラメーターまたはポインターが指すバッファーの相関変数との間の整合性を強制しないように指示します。
MIDL コンパイル全体の整合性チェックを無効にする (およびすべてのケースでチェックの強制を無効にする) には、/backward_compat maybenull_sizeis MIDL コマンド ライン スイッチを使用できます。 これには、MIDL コンパイルのターゲットが少なくとも â€"ターゲット NT60 である必要があります。