DirectInput DirectInput C/C++ 레퍼런스 구조체 DIACTION [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
게임 액션과 장치 기능의 1 대 1 의 맵핑을 나타낸다. DIACTIONFORMAT 구조체에는,DIACTION 구조체의 배열이 포함된다.
구문
typedef struct _DIACTION { UINT_PTR uAppData; DWORD dwSemantic; DWORD dwFlags; union { LPCTSTR lptszActionName; UINT uResIdString; }; GUID guidInstance; DWORD dwObjID; DWORD dwHow; } DIACTION, *LPDIACTION; typedef const DIACTION *LPCDIACTION;
멤버
- uAppData
- 액션에 관련된 컨트롤 상태가 변화할 경우에,IDirectInputDevice8::GetDeviceData 가 애플리케이션에 돌려주는, 애플리케이션 정의의 UINT 값의 주소. 이 값은 DIDEVICEOBJECTDATA 구조체의 uAppData 멤버에 반환된다. 보통, 이 값은 장치 개체에 관련된 애플리케이션 고유의 액션의 식별자이지만, 함수 포인터도 사용할 수 있다.
- dwSemantic
- 조이스틱의 경우, 이 애플리케이션 장르에 정의된 가상 컨트롤을 나타내는 액션 맵핑 정수, 또는 그 장르에 정의되지 않은 컨트롤의 정수. 키보드, 마우스, 또는 Microsoft® DirectPlay® 음성 장치의 경우, 특정의 장치 개체를 나타내는 정수. 「액션 맵핑 정수」를 참조할것.
- dwFlags
- 특정의 속성 또는 처리를 요구하기 위해서 사용되는 플래그. 제로 또는 다음의 플래그를 지정할 수 있다.
- DIA_APPFIXED
- Microsoft DirectInput® 에서는 액션을 재맵 할 수 없다.
- DIA_APPMAPPED
- dwObjID 멤버가 유효하고,IDirectInputDevice8::BuildActionMap 는 애플리케이션 정의의 맵핑을 덧쓰기하지 않는다.
- DIA_APPNOMAP
- 이 액션은 맵 하지 않는다.
- DIA_FORCEFEEDBACK
- 액션을 액츄에이터 또는 방아쇠에 맵 한다.
- DIA_NORANGE
- 이 액션에는 디폴트의 범위를 설정하지 않는다. 이 플래그는 절대축액션에만 설정할 수 있다.
- lptszActionName
- 애플리케이션 정의의 액션명. 이 캐릭터 라인은,IDirectInput8::ConfigureDevices 가 불려 갈 때에, 장치 프로퍼티 시트로 표시된다.
- uResIdString
- 이 액션으로 사용되는 캐릭터 라인의 리소스 식별자. 이 리소스의 모듈 인스턴스는, 이 구조체를 포함한 DIACTIONFORMAT 구조체의 hInstString 멤버내로 지정된다.
- guidInstance
- 특정의 장치가 요구되고 있는 경우, 장치의 인스턴스 글로벌 일의 식별자 (GUID). 그 이외의 경우는 GUID_NULL.
- dwObjID
- 컨트롤 식별자. DIDFT_GETINSTANCE 및 DIDFT_GETTYPE 매크로를 사용해, 이 값으로부터 인스턴스와 타입을 얻어온다.
- dwHow
- IDirectInputDevice8::BuildActionMap 가 이 구조체를 돌려줄 때, 액션을 구성하기 위해서 DirectInput 로 사용된 맵핑의 구조를 나타내는 값을 이 멤버가 받는다. 액션 맵이 IDirectInputDevice8::SetActionMap 에게 건네질 때, 이 멤버는 무시된다. 이하의 값이 정의되고 있다.
- DIAH_APPREQUESTED
- 애플리케이션이 맵핑을 구성해,IDirectInputDevice8::BuildActionMap 의 호출시에 장치 (guidInstance) 및 장치 개체 (dwObjID)가 지정되었다.
- DIAH_DEFAULT
- 다른 맵핑 정보가 없기 때문에, DirectInput 가 맵핑을 결정했다.
- DIAH_ERROR
- 에러가 발생했다. 액션이 장치의 컨트롤과 일치하지 않는다. 액션 맵의 설정시에, 이 액션은 무시된다.
- DIAH_HWAPP
- 이 게임의 하드웨어 메이커가 맵핑을 지정했다.
- DIAH_HWDEFAULT
- 이 장르의 하드웨어 메이커가 맵핑을 지정했다.
- DIAH_UNMAPPED
- 적절한 장치 개체가 발견되지 않았다.
- DIAH_USERCONFIG
- 사용자가 맵핑을 구성했다.
구조체의 정보
헤더 dinput.h 최저한의 operating system Windows 98
참조
IDirectInput8::EnumDevicesBySemantics ,IDirectInputDevice8::SetActionMap ,IDirectInput8::ConfigureDevices ,IDirectInputDevice8::BuildActionMap ,액션 맵