attribut disable_consistency_check
Dirige RPC pour ne pas appliquer la vérification de cohérence de corrélation.
interface interface-name
{
return-type function-name(
[[attribute-list,] disable_consistency_check] param-type param-name
}
Pour les paramètres corrélés, RPC applique qu’une mémoire tampon non null est passée lorsque la variable de nombre de corrélations n’est pas null.
Exemple
HRESULT PassString( [in] DWORD Length, [in, unique, string,
size_is( Length )]LPWSTR MyString );
Si MyString est NULL, RPC rejette l’appel, sauf si la longueur est définie sur 0. Notez que RPC autorise longueur à 0 alors que MyString n’est pas NULL, et RPC traite MyString comme une allocation de mémoire tampon de longueur 0.
Remarques
Pour désactiver cette vérification, l’IDL peut contenir l’attribut [disable_consistency_check] sur un paramètre, typedef ou type de pointeur. Cela permet à RPC de ne pas appliquer la cohérence entre le pointeur de la mémoire tampon et la variable de corrélation pour la mémoire tampon pointée par le paramètre ou le pointeur.
Pour désactiver la vérification de cohérence pour une compilation MIDL entière (et désactiver l’application de la vérification dans tous les cas), le commutateur de ligne de commande MIDL /backward_compat maybenull_sizeis peut être utilisé. Cela nécessite que la cible de la compilation MIDL soit au moins â€"cible NT60.