나는 응용 프로그램은 here함수에 대한 포인터와 WINAPI 함수에 대한 포인터의 차이점은 무엇입니까?
은 일반적으로 내가 그 코드를 이해의 x64 PC에 X32 에뮬레이션 환경에서 실행되고 있는지 여부를 감지하는 코드를 건너 왔지만 내가하지 않는 한 가지가있다 :
1) BOOL typedef에 (WINAPI * LPFN_ISWOW64PROCESS) (핸들, PBOOL);
왜 WINAPI가 있어야합니까? 포인터가 내 정의 된 함수를 가리 키지 않고 WINAPI 함수를 가리키는 것이 중요하다는 것은 왜 중요한가요? 이 2 개의 포인터가 다를까요?
감사합니다,
크라
요약하면, WINAPI는 컴파일러가 함수가 완료된 후 스택의 엉망을 정리하는 코드를 생성하지 않는다고 말합니다. – Kra
@Kra : 대부분 그렇습니다. x86_64로 변환하는 방법을 모르겠지만 x86에서 확실히 그렇습니다. –
멋지다, 그것은 컴파일러가 WINAPI가 제거되고 그 앱이 ESP 값이 함수 호출을 적절히 저장하지 못했다는 정보와 충돌 할 때 신음하지 않는다. 지식을 공유해 주셔서 감사합니다 :) – Kra