다음을 통해 공유


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

항목에서 이 매개 변수는 다운로드되는 효과의 핸들에 대한 포인터입니다. 이 매개 변수가 0을 가리키면 새 효과가 다운로드됩니다. 종료 시 이 매개 변수는 새 효과 핸들을 포함하는 DWORD 에 대한 포인터입니다. 실패 시 이 매개 변수가 가리키는 DWORD 는 효과가 손실된 경우 0으로 설정되거나, 효과가 이전 매개 변수와 함께 유효한 경우 단독으로 유지됩니다. 0은 유효한 효과 핸들이 아닙니다.

unnamedParam4

새 효과를 설명하는 DIEFFECT 구조를 가리킵니다. 축 및 단추 값은 다음으로 구성된 개체 식별자로 변환되었습니다.

한 가지 형식 지정자:

DIDFT_RELAXIS
DIDFT_ABSAXIS
DIDFT_PSHBUTTON
DIDFT_TGLBUTTON
DIDFT_POV

하나의 instance 식별자:

DIDFT_MAKEINSTANCE(n)

개체 식별자의 다른 비트는 예약되어 있으므로 무시해야 합니다.

예를 들어 0x02000104 = DIDFT_PSHBUTTON | DIDFT_MAKEINSTANCE(1) | 기타 항목

이 값은 효과가 단추 1을 사용한다는 것을 나타냅니다.

unnamedParam5

효과 정보가 디바이스에 이미 적용된 효과에서 변경된 부분을 지정합니다. 이 정보는 효과 수정을 최적화할 수 있도록 드라이버에 전달됩니다. 효과가 수정되는 경우 드라이버는 원래 위치에서 효과를 업데이트하고 변경된 정보만 디바이스에 전송할 수 있습니다. 그러나 드라이버는 이 최적화를 구현하는 데 필요하지 않습니다. peff 매개 변수가 가리키는 DIEFFECT 구조체의 모든 멤버는 유효하며 드라이버는 다운로드할 때마다 효과의 모든 매개 변수를 업데이트하도록 선택할 수 있습니다. (DIEFFECT 구조에 대한 자세한 내용은 독립 실행형 DirectX SDK의 DirectInput 섹션을 참조하세요.)

이 매개 변수는 다음 중 0개, 하나 이상일 수 있습니다.

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(Dinputd.h 포함)