IDirectInputEffectDriver::D ownloadEffect 方法 (dinputd.h)
IDirectInputEffectDriver::D ownloadEffect方法會將效果傳送至裝置。
語法
HRESULT DownloadEffect(
DWORD unnamedParam1,
DWORD unnamedParam2,
LPDWORD unnamedParam3,
LPCDIEFFECT unnamedParam4,
DWORD unnamedParam5
);
參數
unnamedParam1
指定要定址的外部搖桿編號。
unnamedParam2
指定與應用程式嘗試建立之效果相關聯的DIEFFECTATTRIBUTES結構的dwEffectId成員。 DIEFFECTATTRIBUTES 結構會儲存在登錄中的對應效果登錄機碼下,而且可以是任何 32 位值。 DirectInput 會將 32 位值傳遞至沒有解譯的驅動程式。
unnamedParam3
在專案上,此參數是所下載效果控制碼的指標。 如果此參數指向零,則會下載新的效果。 結束時,此參數是包含新效果控制碼的 DWORD 指標。 失敗時,如果效果遺失,則此參數所指向的 DWORD 會設定為零,如果效果仍然有效且舊參數仍然有效,則會單獨保留。 請注意,零永遠不會是有效的效果控制碼。
unnamedParam4
指向描述新效果的 DIEFFECT 結構。 座標軸和按鈕值已轉換成物件識別碼,其中包含下列各項:
一個類型規範:
DIDFT_RELAXIS
DIDFT_ABSAXIS
DIDFT_PSHBUTTON
DIDFT_TGLBUTTON
DIDFT_POV
一個實例識別碼:
DIDFT_MAKEINSTANCE (n)
物件識別碼中的其他位是保留的,而且應該忽略。
例如,0x02000104 = DIDFT_PSHBUTTON |DIDFT_MAKEINSTANCE (1) |其他專案
這個值表示效果使用按鈕 1。
unnamedParam5
指定效果資訊的哪些部分已從已套用至裝置的效果變更。 此資訊會傳遞至驅動程式,以允許優化效果修改。 如果正在修改效果,驅動程式可能會在其原始位置更新效果,並只傳輸至裝置已變更的資訊。 不過,實作此優化時不需要驅動程式。 peff參數所指向的 DIEFFECT 結構中的所有成員都是有效的,而且驅動程式可以選擇只在每個下載時更新效果的所有參數。 (如需 DIEFFECT 結構的相關資訊,請參閱獨立 DirectX SDK.) 的 DirectInput 一節
此參數可以是零、一或多個下列各項:
DIEP_DURATION
指出第一次下載 DIEFFECT 結構的 dwDuration 成員,或自上次下載後變更。
DIEP_SAMPLEPERIOD
指出第一次下載 DIEFFECT 結構的 dwSamplePeriod 成員,或自上次下載後變更。
DIEP_GAIN
指出第一次下載 DIEFFECT 結構的 dwGain 成員,或自上次下載後變更。
DIEP_TRIGGERBUTTON
指出第一次下載 DIEFFECT 結構的 dwTriggerButton 成員,或自上次下載後變更。
DIEP_TRIGGERREPEATINTERVAL
指出 DIEFFECT 結構的 dwTriggerRepeatInterval 成員第一次下載,或自上次下載後變更。
DIEP_AXES
指出第一次下載 DIEFFECT 結構的 cAxes 和 rgdwAxes 成員,或自上次下載後變更。
DIEP_DIRECTION
指出第一次下載 DIEFFECT 結構的 cAxes 和 rglDirection 成員,或自上次下載後變更。 (DIEFFECT 結構的 dwFlags 成員會透過DIEFF_CARTESIAN或DIEFF_POLAR指定應該解譯值的座標系統。)
DIEP_ENVELOPE
表示第一次下載 DIEFFECT 結構的 lpEnvelope 成員,或自上次下載後變更。 如果已設定此旗標,且 lpEnvelope 成員為 Null 指標,則會建立沒有信封的效果,或正在刪除現有的信封。
DIEP_TYPESPECIFICPARAMS
指出 DIEFFECT 結構的第一次下載或自上次下載之後變更 的 cbTypeSpecificParams 和 lpTypeSpecificParams 成員。
DIEP_START
表示效果是從效果的參數更新之後,從開頭重新開機。 請注意,DIEP_NODOWNLOAD旗標會覆寫DIEP_START旗標。
DIEP_NORESTART
如果未指定此旗標,則如果這麼做需要變更指定的參數,則允許效果設備磁碟機重新開機效果。 請注意,DIEP_NODOWNLOAD和DIEP_START旗標會覆寫此旗標。
DIEP_NODOWNLOAD
隱藏在更新參數之後通常會執行的自動下載。 如果設定此旗標,驅動程式應該驗證參數,而不需執行實際的下載。
傳回值
如果成功,則傳回S_OK,否則傳回錯誤值。
需求
目標平台 | 桌面 |
標頭 | dinputd.h (include Dinputd.h) |