|Microsoft DirectX 9.0|
Places the effect on the device. If the effect is already on the device, the existing effect is updated to match the values set by the IDirectInputEffect::SetParameters method.
If the method succeeds, the return value is DI_OK or S_FALSE.
If the method fails, the return value can be one of the following error values:
DIERR_DEVICEFULL The device is full. DIERR_EFFECTPLAYING The parameters were updated in memory but were not downloaded to the device because the device does not support updating an effect while it is still playing. DIERR_INCOMPLETEEFFECT The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been supplied. DIERR_INPUTLOST Access to the input device has been lost. It must be reacquired. DIERR_INVALIDPARAM An invalid parameter was passed to the returning function, or the object was not in a state that permitted the function to be called. This value is equal to the E_INVALIDARG standard Component Object Model (COM) return value. DIERR_NOTEXCLUSIVEACQUIRED The operation cannot be performed unless the device is acquired in DISCL_EXCLUSIVE mode. DIERR_NOTINITIALIZED The object has not been initialized.
If the method returns S_FALSE, the effect has already been downloaded to the device.
It is valid to update an effect while it is playing. The semantics of such an operation are explained in the reference for IDirectInputEffect::SetParameters.