dinput/tests: Tests for IDirectInputJoyConfig8_GetConfig.
This commit is contained in:
parent
fc944144e3
commit
dbc10ef937
|
@ -22,6 +22,7 @@
|
||||||
#include <initguid.h>
|
#include <initguid.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <dinput.h>
|
#include <dinput.h>
|
||||||
|
#include <dinputd.h>
|
||||||
|
|
||||||
#include "wine/test.h"
|
#include "wine/test.h"
|
||||||
|
|
||||||
|
@ -562,6 +563,48 @@ static void test_RunControlPanel(void)
|
||||||
IDirectInput_Release(pDI);
|
IDirectInput_Release(pDI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_DirectInputJoyConfig8(void)
|
||||||
|
{
|
||||||
|
IDirectInputA *pDI;
|
||||||
|
IDirectInputDeviceA *pDID;
|
||||||
|
IDirectInputJoyConfig8 *pDIJC;
|
||||||
|
DIJOYCONFIG info;
|
||||||
|
HRESULT hr;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
hr = DirectInputCreateA(hInstance, DIRECTINPUT_VERSION, &pDI, NULL);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
win_skip("Failed to instantiate a IDirectInputA instance: 0x%08x\n", hr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr = IDirectInput_QueryInterface(pDI, &IID_IDirectInputJoyConfig8, (void **)&pDIJC);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
win_skip("Failed to instantiate a IDirectInputJoyConfig8 instance: 0x%08x\n", hr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
info.dwSize = sizeof(info);
|
||||||
|
hr = DI_OK;
|
||||||
|
i = 0;
|
||||||
|
|
||||||
|
/* Enumerate all connected joystick GUIDs and try to create the respective devices */
|
||||||
|
for (i = 0; SUCCEEDED(hr); i++)
|
||||||
|
{
|
||||||
|
hr = IDirectInputJoyConfig8_GetConfig(pDIJC, i, &info, DIJC_GUIDINSTANCE);
|
||||||
|
|
||||||
|
todo_wine ok (hr == DI_OK || hr == DIERR_NOMOREITEMS,
|
||||||
|
"IDirectInputJoyConfig8_GetConfig returned 0x%08x\n", hr);
|
||||||
|
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
todo_wine ok (SUCCEEDED(IDirectInput_CreateDevice(pDI, &info.guidInstance, &pDID, NULL)),
|
||||||
|
"IDirectInput_CreateDevice failed with guid from GetConfig hr = 0x%08x\n", hr);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(dinput)
|
START_TEST(dinput)
|
||||||
{
|
{
|
||||||
HMODULE dinput_mod = GetModuleHandleA("dinput.dll");
|
HMODULE dinput_mod = GetModuleHandleA("dinput.dll");
|
||||||
|
@ -579,5 +622,6 @@ START_TEST(dinput)
|
||||||
test_GetDeviceStatus();
|
test_GetDeviceStatus();
|
||||||
test_Initialize();
|
test_Initialize();
|
||||||
test_RunControlPanel();
|
test_RunControlPanel();
|
||||||
|
test_DirectInputJoyConfig8();
|
||||||
CoUninitialize();
|
CoUninitialize();
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,8 @@ typedef BOOL (CALLBACK *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);
|
||||||
#define JOY_POVVAL_LEFT 2
|
#define JOY_POVVAL_LEFT 2
|
||||||
#define JOY_POVVAL_RIGHT 3
|
#define JOY_POVVAL_RIGHT 3
|
||||||
|
|
||||||
|
#define DIERR_NOMOREITEMS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NO_MORE_ITEMS)
|
||||||
|
|
||||||
typedef struct joypos_tag
|
typedef struct joypos_tag
|
||||||
{
|
{
|
||||||
DWORD dwX;
|
DWORD dwX;
|
||||||
|
|
Loading…
Reference in New Issue