Aracılığıyla paylaş


disable_consistency_check Özniteliği

RPC'yi bağıntı tutarlılığı denetimini zorunlu kılmamaya yönlendirir.

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

Bağıntılı parametreler için RPC, bağıntı sayısı değişkeni null olmayan olduğunda null olmayan bir arabellek geçirilmesini zorlar.

Örnek

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

myString NULL ise, Uzunluk 0 olarak ayarlanmadığı sürece RPC çağrıyı reddeder. MyString null olmayan RPC Uzunluğu 0 olmasına izin verir ve RPC MyString 0 uzunlukta bir arabellek ayırması olarak kabul eder.

Açıklamalar

Bu denetimi devre dışı bırakmak için IDL bir parametre, typedef veya işaretçi türünde [disable_consistency_check] özniteliğini içerebilir. Bu, RPC'yi arabellek işaretçisi ile parametre veya işaretçi tarafından işaret edilen arabelleğe ilişkin bağıntı değişkeni arasındaki tutarlılığı zorlamamaya yönlendirir.

Tüm MIDL derlemesi için tutarlılık denetimini devre dışı bırakmak (ve her durumda denetimin zorunlu olmasını devre dışı bırakmak) için, /backward_compat maybenull_sizeis MIDL komut satırı anahtarı kullanılabilir. Bu, MIDL derlemesinin hedefinin en az bir hedef NT60 olmasını gerektirir.