Ceci est le message d'avertissement C4055.Comment pouvons-nous résoudre C4055 Avertissement?
« conversion »: de pointeur de données « type1 » pour fonctionner pointeur « type2 »
Un pointeur de données est coulé (éventuellement à tort) à un pointeur de fonction.
Ceci est un avertissement de niveau 1 sous/Za et un avertissement de niveau 4 sous/Ze.
Comment résoudre cet avertissement (titre correct, pas un truc)
Edit:
Ceci est un extrait de code a avertissement.
typedef NTSTATUS (*t_ObRegisterCallbacks)
(
IN POB_CALLBACK_REGISTRATION CallBackRegistration,
OUT PVOID *RegistrationHandle
);
t_ObRegisterCallbacks g_ObRegisterCallbacks = NULL;
void foo()
{
g_ObRegisterCallbacks = (t_ObRegisterCallbacks)MmGetSystemRoutineAddress(®Name); //C4055
}
//warning C4055: 'type cast' : from data pointer 'PVOID' to function pointer 't_ObRegisterCallbacks'
Pour votre information, 'MmGetSystemRoutineAddress()' a des problèmes sur XP SP2: http://www.osronline.com/article.cfm ? article = 494 – bk1e