NVDA Helper
In-process and lite high-speed utilities for NVDA
|
#include <cstdio>
#include <sstream>
#include <algorithm>
#include <rpc.h>
#include <sddl.h>
#include <common/log.h>
#include <common/apiHook.h>
#include <local/nvdaControllerInternal.h>
#include "nvdaHelperLocal.h"
#include "dllImportTableHooks.h"
#include "rpcsrv.h"
Go to the source code of this file.
Classes | |
struct | _fwct_info |
Functions | |
handle_t | createRemoteBindingHandle (wchar_t *uuidString) |
void (__stdcall *_notifySendMessageCancelled)() | |
LRESULT | cancellableSendMessageTimeout (HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, PDWORD_PTR lpdwResult) |
LRESULT WINAPI | fake_SendMessageW (HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) |
LRESULT WINAPI | fake_SendMessageTimeoutW (HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, PDWORD_PTR lpdwResult) |
BOOL WINAPI | fake_OpenClipboard (HWND hwndOwner) |
void | nvdaHelperLocal_initialize (bool secureMode) |
void | nvdaHelperLocal_terminate () |
void | logMessage (int level, const wchar_t *msg) |
BOOL CALLBACK | _fwct_enumThreadWindowsProc (HWND hwnd, LPARAM lParam) |
HWND | findWindowWithClassInThread (long threadID, wchar_t *windowClassName, BOOL checkVisible) |
Variables | |
decltype(&SendMessageW) | real_SendMessageW = nullptr |
decltype(&SendMessageTimeoutW) | real_SendMessageTimeoutW = nullptr |
decltype(&OpenClipboard) | real_OpenClipboard = nullptr |
const UINT | CANCELSENDMESSAGE_CHECK_INTERVAL = 400 |
DWORD | mainThreadId = 0 |
HANDLE | cancelCallEvent = NULL |
handle_t createRemoteBindingHandle | ( | wchar_t * | uuidString | ) |
References LOG_ERROR.
void | ( | __stdcall * | _notifySendMessageCancelled | ) |
LRESULT cancellableSendMessageTimeout | ( | HWND | hwnd, |
UINT | Msg, | ||
WPARAM | wParam, | ||
LPARAM | lParam, | ||
UINT | fuFlags, | ||
UINT | uTimeout, | ||
PDWORD_PTR | lpdwResult ) |
References cancelCallEvent, CANCELSENDMESSAGE_CHECK_INTERVAL, and real_SendMessageTimeoutW.
Referenced by fake_SendMessageTimeoutW(), and fake_SendMessageW().
LRESULT WINAPI fake_SendMessageW | ( | HWND | hwnd, |
UINT | Msg, | ||
WPARAM | wParam, | ||
LPARAM | lParam ) |
References cancellableSendMessageTimeout().
Referenced by nvdaHelperLocal_initialize().
LRESULT WINAPI fake_SendMessageTimeoutW | ( | HWND | hwnd, |
UINT | Msg, | ||
WPARAM | wParam, | ||
LPARAM | lParam, | ||
UINT | fuFlags, | ||
UINT | uTimeout, | ||
PDWORD_PTR | lpdwResult ) |
References cancellableSendMessageTimeout().
Referenced by nvdaHelperLocal_initialize().
BOOL WINAPI fake_OpenClipboard | ( | HWND | hwndOwner | ) |
Referenced by nvdaHelperLocal_initialize().
void nvdaHelperLocal_initialize | ( | bool | secureMode | ) |
void nvdaHelperLocal_terminate | ( | ) |
References apiHook_terminate(), cancelCallEvent, and stopServer().
BOOL CALLBACK _fwct_enumThreadWindowsProc | ( | HWND | hwnd, |
LPARAM | lParam ) |
References _fwct_enumThreadWindowsProc(), _fwct_info::checkVisible, _fwct_info::foundWindow, _fwct_info::tempClass, and _fwct_info::wantedClass.
Referenced by _fwct_enumThreadWindowsProc(), and findWindowWithClassInThread().
decltype(&SendMessageW) real_SendMessageW = nullptr |
Referenced by nvdaHelperLocal_initialize().
decltype(&SendMessageTimeoutW) real_SendMessageTimeoutW = nullptr |
Referenced by cancellableSendMessageTimeout(), and nvdaHelperLocal_initialize().
decltype(&OpenClipboard) real_OpenClipboard = nullptr |
Referenced by nvdaHelperLocal_initialize().
const UINT CANCELSENDMESSAGE_CHECK_INTERVAL = 400 |
Referenced by cancellableSendMessageTimeout().
DWORD mainThreadId = 0 |
Referenced by nvdaHelperLocal_initialize().
HANDLE cancelCallEvent = NULL |
Referenced by cancellableSendMessageTimeout(), nvdaHelperLocal_initialize(), and nvdaHelperLocal_terminate().