HOOKDEF(BOOL, WINAPI, UnhookWindowsHookEx, __in HHOOK hhk ) { IS_SUCCESS_BOOL(); BOOL ret = Old_UnhookWindowsHookEx(hhk); LOQ("p", "HookHandle", hhk); return ret; }
HOOKDEF(BOOL, WINAPI, IsDebuggerPresent, void ) { IS_SUCCESS_BOOL(); BOOL ret = Old_IsDebuggerPresent(); LOQ(""); return ret; }
HOOKDEF(BOOL, WINAPI, TerminateThread, __inout HANDLE hThread, __in DWORD dwExitCode ) { IS_SUCCESS_BOOL(); BOOL ret = Old_TerminateThread(hThread, dwExitCode); LOQ("pl", "ThreadHandle", hThread, "ExitCode", dwExitCode); return ret; }
HOOKDEF(BOOL, WINAPI, ExitWindowsEx, __in UINT uFlags, __in DWORD dwReason ) { IS_SUCCESS_BOOL(); int ret = 0; LOQ("ll", "Flags", uFlags, "Reason", dwReason); return Old_ExitWindowsEx(uFlags, dwReason); }
HOOKDEF(BOOL, WINAPI, LookupPrivilegeValueW, __in_opt LPWSTR lpSystemName, __in LPWSTR lpName, __out PLUID lpLuid ) { IS_SUCCESS_BOOL(); BOOL ret = Old_LookupPrivilegeValueW(lpSystemName, lpName, lpLuid); LOQ("uu", "SystemName", lpSystemName, "PrivilegeName", lpName); return ret; }
HOOKDEF(BOOL, PASCAL, ConnectEx, _In_ SOCKET s, _In_ const struct sockaddr *name, _In_ int namelen, _In_opt_ PVOID lpSendBuffer, _In_ DWORD dwSendDataLength, _Out_ LPDWORD lpdwBytesSent, _In_ LPOVERLAPPED lpOverlapped ) { IS_SUCCESS_BOOL(); BOOL ret = Old_ConnectEx(s, name, namelen, lpSendBuffer, dwSendDataLength, lpdwBytesSent, lpOverlapped); LOQ("pB", "socket", s, "SendBuffer", lpdwBytesSent, lpSendBuffer); return ret; }
HOOKDEF(BOOL, PASCAL, TransmitFile, SOCKET hSocket, HANDLE hFile, DWORD nNumberOfBytesToWrite, DWORD nNumberOfBytesPerSend, LPOVERLAPPED lpOverlapped, LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers, DWORD dwFlags ) { IS_SUCCESS_BOOL(); BOOL ret = Old_TransmitFile(hSocket, hFile, nNumberOfBytesToWrite, nNumberOfBytesPerSend, lpOverlapped, lpTransmitBuffers, dwFlags); LOQ("ppll", "socket", hSocket, "FileHandle", hFile, "NumberOfBytesToWrite", nNumberOfBytesToWrite, "NumberOfBytesPerSend", nNumberOfBytesPerSend); return ret; }
HOOKDEF(BOOL, WINAPI, DeviceIoControl, __in HANDLE hDevice, __in DWORD dwIoControlCode, __in_opt LPVOID lpInBuffer, __in DWORD nInBufferSize, __out_opt LPVOID lpOutBuffer, __in DWORD nOutBufferSize, __out_opt LPDWORD lpBytesReturned, __inout_opt LPOVERLAPPED lpOverlapped ) { IS_SUCCESS_BOOL(); const char *module_name = "device"; BOOL ret = Old_DeviceIoControl(hDevice, dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped); LOQ("plbb", "DeviceHandle", hDevice, "IoControlCode", dwIoControlCode, "InBuffer", nInBufferSize, lpInBuffer, "OutBuffer", lpBytesReturned ? *lpBytesReturned : nOutBufferSize, lpOutBuffer); return ret; }