IDirectInputJoyConfig8::SetTypeInfo 方法 (dinputd.h)
IDirectInputJoyConfig8::SetTypeInfo 方法创建新的游戏杆类型或重新定义有关现有游戏杆类型的信息。
语法
HRESULT SetTypeInfo(
LPCWSTR unnamedParam1,
LPCDIJOYTYPEINFO unnamedParam2,
DWORD unnamedParam3,
LPWSTR unnamedParam4
);
参数
unnamedParam1
指向类型的名称。 类型的名称不能超过 MAX_JOYSTRING 个字符,包括终止 null 字符。 如果类型名称尚不存在,则会创建它。 不能更改预定义类型的类型信息。 名称不能以“#”字符开头。 以“#”开头的类型由 DirectInput 保留。
unnamedParam2
指向一个结构,该结构接收有关游戏杆类型的信息。
unnamedParam3
指定 pjti 指向的 DIJOYTYPEINFO 结构的各个部分,其中包含要设置的值。
DITC_REGHWSETTINGS
指示游戏杆的注册表硬件设置有效。
DITC_CLSIDCONFIG
指示游戏杆配置 CLSID 有效。 如果值为全部零,则此游戏杆类型没有自定义配置。
DITC_DISPLAYNAME
指示游戏杆类型的显示名称有效。
DITC_CALLOUT
指示游戏杆类型的标注有效。
unnamedParam4
如果类型名称不是采用VID_xxxx&PID_yyyy格式的 OEM 类型,则此参数将返回 Dinput 分配VID_xxxx&PID_yyyy格式的名称。 调用 SetConfig 时,应在 DIJOYCONFIG.wszType 字段中使用此VID_xxxx&PID_yyyy名称。
返回值
如果成功,则返回DI_OK;否则,返回以下 COM 错误值之一:
返回代码 | 描述 |
---|---|
|
尚未获取游戏杆配置。 必须先调用 IDirectInputJoyConfig8::Acquire ,然后才能通知应用程序和驱动程序游戏杆配置发生更改。 |
|
一个或多个参数无效。 |
|
尝试更改预定义的类型。 |
要求
目标平台 | 桌面 |
标头 | dinputd.h (包括 Dinputd.h) |