이것은 C4055 경고 메시지입니다.C4055 경고는 어떻게 해결합니까?
'변환': 데이터 포인터 '타입 1'포인터 'TYPE2를'기능까지
데이터 포인터가 함수 포인터 (어쩌면 잘못) 주조된다.
/Za에서 레벨 1 경고이고/Ze에서 레벨 4 경고입니다. ? 이것은 코드 경고했다됩니다: 우리가이 경고
편집 (올바른 방법이 아닌 트릭으로)를 해결하려면 어떻게해야
.
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'
을 참고로,'MmGetSystemRoutineAddress을()'XP SP2에 문제가 있습니다 : http://www.osronline.com/article.cfm ? article = 494 – bk1e