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 錯誤值:
傳回碼 | Description |
---|---|
|
尚未取得遊戲桿組態。 您必須先呼叫 IDirectInputJoyConfig8::Acquire ,才能通知應用程式和驅動程式變更遊戲桿設定。 |
|
一或多個參數無效。 |
|
嘗試變更預先定義的類型。 |
規格需求
目標平台 | 桌面 |
標頭 | dinputd.h (include Dinputd.h) |