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 구조체의 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(Dinputd.h 포함) |