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 結構的 cAxesrgdwAxes 成員,或自上次下載後變更。

DIEP_DIRECTION

指出第一次下載 DIEFFECT 結構的 cAxesrglDirection 成員,或自上次下載後變更。 (DIEFFECT 結構的 dwFlags 成員會透過DIEFF_CARTESIAN或DIEFF_POLAR指定應該解譯值的座標系統。)

DIEP_ENVELOPE

表示第一次下載 DIEFFECT 結構的 lpEnvelope 成員,或自上次下載後變更。 如果已設定此旗標,且 lpEnvelope 成員為 Null 指標,則會建立沒有信封的效果,或正在刪除現有的信封。

DIEP_TYPESPECIFICPARAMS

指出 DIEFFECT 結構的第一次下載或自上次下載之後變更 的 cbTypeSpecificParamslpTypeSpecificParams 成員。

DIEP_START

表示效果是從效果的參數更新之後,從開頭重新開機。 請注意,DIEP_NODOWNLOAD旗標會覆寫DIEP_START旗標。

DIEP_NORESTART

如果未指定此旗標,則如果這麼做需要變更指定的參數,則允許效果設備磁碟機重新開機效果。 請注意,DIEP_NODOWNLOAD和DIEP_START旗標會覆寫此旗標。

DIEP_NODOWNLOAD

隱藏在更新參數之後通常會執行的自動下載。 如果設定此旗標,驅動程式應該驗證參數,而不需執行實際的下載。

傳回值

如果成功,則傳回S_OK,否則傳回錯誤值。

需求

   
目標平台 桌面
標頭 dinputd.h (include Dinputd.h)