#undef INTERFACE
#define INTERFACE IDirectInputJoyConfig8
DECLARE_INTERFACE_(IDirectInputJoyConfig8, IUnknown)
{
STDMETHOD(GetTypeInfo)(THIS_ REFGUID, LPDIJOYTYPEINFO, DWORD, LPCWSTR, LPCWSTR) PURE;
STDMETHOD(SetTypeInfo)(THIS_ REFGUID, LPCDIJOYTYPEINFO, DWORD, LPCWSTR) PURE;
STDMETHOD(DeleteType)(THIS_ REFGUID) PURE;
STDMETHOD(GetConfig)(THIS_ UINT, LPDIJOYCONFIG, DWORD) PURE;
STDMETHOD(SetConfig)(THIS_ UINT, LPCDIJOYCONFIG, DWORD) PURE;
STDMETHOD(DeleteConfig)(THIS_ UINT) PURE;
STDMETHOD(GetUserValues)(THIS_ LPDIJOYUSERVALUES, DWORD) PURE;
STDMETHOD(SetUserValues)(THIS_ LPCDIJOYUSERVALUES, DWORD) PURE;
STDMETHOD(AddNewHardware)(THIS_ HWND, REFGUID) PURE;
STDMETHOD(OpenTypeKey)(THIS_ REFGUID, PHKEY) PURE;
STDMETHOD(OpenConfigKey)(THIS_ UINT, PHKEY) PURE;
STDMETHOD(OpenUserKey)(THIS_ PHKEY) PURE;
STDMETHOD(OpenAppStatusKey)(THIS_ PHKEY) PURE;
STDMETHOD(Reserved)(THIS_ DWORD) PURE;
STDMETHOD(Reserved2)(THIS_ DWORD) PURE;
STDMETHOD(Reserved3)(THIS_ DWORD) PURE;
STDMETHOD(Reserved4)(THIS_ DWORD) PURE;
STDMETHOD(Reserved5)(THIS_ DWORD) PURE;
STDMETHOD(Reserved6)(THIS_ DWORD) PURE;
};
这个接口提供了一系列方法,用于获取和设置游戏控制器的类型、配置、用户值等信息。这些方法包括:
- GetTypeInfo: 获取游戏控制器的类型信息。
- SetTypeInfo: 设置游戏控制器的类型信息。
- DeleteType: 删除游戏控制器的类型信息。
- GetConfig: 获取游戏控制器的配置信息。
- SetConfig: 设置游戏控制器的配置信息。
- DeleteConfig: 删除游戏控制器的配置信息。
- GetUserValues: 获取游戏控制器的用户值。
- SetUserValues: 设置游戏控制器的用户值。
- 其他方法用于打开注册表中的键、添加新的硬件等。
请注意,DirectInput 已经被 Microsoft 标记为过时(deprecated),在 Windows 8 和更新版本中,推荐使用 Windows.Gaming.Input 命名空间提供的 API 来处理游戏输入。因此,如果可能的话,建议迁移到新的输入 API。
转载请注明出处:http://www.zyzy.cn/article/detail/26805/Win32 API/Dinputd.h/IDirectInputJoyConfig8