DirectInput DirectInput C/C++ 레퍼런스 구조체 DIACTION   [목차열람] [주소복사] [슬롯비우기]
DIACTION 구조체
 
Microsoft DirectX 9.0

DIACTION 구조체


게임 액션과 장치 기능의 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_GETINSTANCEDIDFT_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 ,액션 맵


© 2002 Microsoft Corporation. All rights reserved.
↑TOP