Я пытаюсь скомпилировать это решение vs2010 и обновил его до VS2013, но во время компиляции выдается следующая ошибка:
LNK2019: Unresolved external symbol "struct HWND__ * __cdecl DwmaxxRpcWindow(void)" (?DwmaxxRpcWindow@@YAPEAUHWND__@@XZ) referenced in function "long __cdecl InitDevice(void)" (?InitDevice@@YAJXZ)
Решение разделено на 5 проектов: две библиотеки DLL (x86 и x64), основная библиотека DLL, проект Loader (который загружает любые библиотеки DLL) и проект Test, предназначенный для тестирования функциональности библиотек DLL.
На самом деле, я попытался связать все библиотеки LIB, необходимые для проекта, а также библиотеки DLL, и могу получить некоторые проекты для компиляции, но не тестовый проект, который выдает ошибку, упомянутую выше.
Кроме того, я связался с разработчиком проекта, и он сказал мне, что мне нужно только собрать dll, чтобы все заработало.
Определение DwmaxxRpcWnd таково:
HWND DwmaxxRpcWindow()
{
return (FindWindowEx(HWND_MESSAGE, NULL, DWMAXX_RPC_WINDOW_CLASS, NULL));
}
DWMAXX_RPC_WINDOW_CLASS определяется
#define DWMAXX_RPC_WINDOW_CLASS ("DwmaxxRPCEndpoint")
и функциональная часть с проблемой
HANDLE hTmp = (HANDLE)SendMessage(DwmaxxRpcWindow(), DWMAXX_GET_SHARED_HANDLE, (WPARAM)win, NULL);
где DWMAXX_GET_SHARED_HANDLE обозначает
#define DWMAXX_GET_SHARED_HANDLE (WM_APP + 1)
и переменная "win" - это HWND для окна.
Эта функция (как показано) должна возвращать значение дескриптора.
Тем не менее, я не могу даже скомпилировать этот проект.
Сам проект направлен на получение общей текстуры D3D для окна из DWM с использованием некоторых хуков, я планирую использовать части этого проекта для себя.