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

DIACTIONFORMAT 구조체


호출원애플리케이션에 관한 정보를 저장 해, 장르의 액션과 컨트롤의 맵핑을 정의하는 DIACTION 구조체 배열의 컨테이너로서 동작한다.

구문

typedef struct {
    DWORD dwSize;
    DWORD dwActionSize;
    DWORD dwDataSize;
    DWORD dwNumActions;
    LPDIACTION rgoAction;
    GUID guidActionMap;
    DWORD dwGenre;
    DWORD dwBufferSize;
    LONG lAxisMin;
    LONG lAxisMax;
    HINSTANCE hInstString;
    FILETIME ftTimeStamp;
    DWORD dwCRC;
    TCHAR tszActionMap[MAX_PATH];
} DIACTIONFORMAT;

멤버

dwSize
DIACTIONFORMAT 구조체의 사이즈를 바이트 단위로 지정하는 DWORD 값.
dwActionSize
DIACTION 구조체의 사이즈를 바이트 단위로 지정하는 DWORD 값.
dwDataSize
장치의 직접 데이터를 사용하는 장치가 돌려주는 장치 데이터의 사이즈를, 바이트 단위로 지정하는 DWORD 값. 이 멤버는,dwNumActions 를 4 배가 된 값이다.
dwNumActions
rgoAction 배열의 요소수를 지정하는 DWORD 값.
rgoAction
DIACTION 구조체의 배열의 주소. 각 구조체가, 액션과 가상 컨트롤 또는 장치 개체의 맵 방법, 및 맵핑 정보를 사용자에 표시하는 방법을 나타낸다.
guidActionMap
액션 맵을 식별하는 글로벌 일의 식별자 (GUID). 장치 메이커는 이 값을 사용해 특정의 타이틀의 맵핑을 조정할 수 있다.
dwGenre
애플리케이션의 장르를 지정하는 DWORD 값. 설정 가능한 값에 대해서는, 「액션 맵핑 정수」를 참조할것.
dwBufferSize
액션 맵이 적용되는 각 장치의, 버퍼내의 입력 데이터 패킷수를 지정하는 DWORD 값. IDirectInputDevice8::GetDeviceData 로 데이터를 얻어오기 위해 버퍼 사이즈를 제로보다 큰 값으로 설정할 필요가 있다. IDirectInputDevice8::SetActionMap 를 호출하기 전에, 애플리케이션이 이 멤버에 목적의 버퍼 사이즈를 설정하는 경우,IDirectInputDevice8::SetProperty 로 DIPROP_BUFFERSIZE 프로퍼티를 설정할 필요는 없다.
lAxisMin
모든 축으로 취득되는 계측 데이터의 범위의 최소 값. DIACTION. dwFlags 에 DIA_NORANGE 플래그가 설정되었을 경우, 이 값은 특정의 액션 축으로 대해 무시된다.

이 값은, 축액션 에 대해서만 유효하고, 그 외의 모든 조작에 대해서는 0 으로 설정할 필요가 있다. DIPROPRANGE . lMin 로서 사용하면IDirectInputDevice8::SetActionMap 로 액션 맵을 적용할 경우에, 절대 축으로 범위 프로퍼티를 설정할 수 있다.

lAxisMax
모든 축으로 취득되는 계측 데이터의 범위의 최대치. DIACTION. dwFlags 에 DIA_NORANGE 플래그가 설정되었을 경우, 이 값은 특정의 액션 축으로 대해 무시된다.

이 값은, 축액션 에 대해서만 유효하고, 그 외의 모든 조작에 대해서는 0 으로 설정할 필요가 있다. DIPROPRANGE. lMax 로서 사용하면IDirectInputDevice8::SetActionMap 로 액션 맵을 적용할 경우에, 절대 축으로 범위 프로퍼티를 설정할 수 있다.

hInstString
각 액션의 DIACTION 구조체의 uResIdString 멤버로 지정된, 액션명의 캐릭터 라인 리소스를 저장 하는 모듈의 핸들. 액션명이 각 액션의 DIACTION 구조체의 lptszActionName 멤버로 지정되고 있는 경우는, 제로로 할 수 있다.
ftTimeStamp
액션 맵이 마지막에 디스크에 기입해졌을 때 각을 받는 FILETIME 구조체. 「주의」를 참조할것.
dwCRC
이 맵의 순회 장황 검사 (CRC). 맵핑 세트를 디스크에 보존하는 시기를 결정하기 위해서(때문에), Microsoft® DirectInput® 가 내부적으로 사용한다.
tszActionMap
이 액션 맵의 등록명을 지정하는, 최대장 MAX_PATH 의 NULL 종단 캐릭터 라인. 이 캐릭터 라인은, 디폴트 프로퍼티 시트의 드롭 다운 리스트 박스에 표시된다.

주의

ftTimeStamp 멤버에는, 신규 장치나 미사용 장치에 적용하는 특수값을 저장 할 수 있다. 신규 장치란, 이 애플리케이션에서는 열거되지 않고, 액션 맵이 적용되지 않은 장치이다. 미사용 장치란, 이전에 이 애플리케이션으로 열거되고 있지만, 액션 맵이 적용되지 않은 장치이다. 신규 장치의 경우,FILETIME 구조체아래와 위에의 DWORD 에, 각각 DIAFTS_NEWDEVICELOW 와 DIAFTS_NEWDEVICEHIGH 가 항상 설정되어 있다. 미사용 장치의 경우는, 여기에 DIAFTS_UNUSEDDEVICELOW 와 DIAFTS_UNUSEDDEVICEHIGH 가 설정되어 있다.

애플리케이션으로 신규 장치의 유무를 체크하기 위해서 ftTimeStamp 를 사용해서는 안 된다. 이 방법 대신에, 열거 콜백 함수로 DIEDBS_RECENTDEVICE 와 DIEDBS_NEWDEVICE 플래그가 돌려주어졌는지 어떠했는지를 확인할 필요가 있다. 더 자세한 정보는, 「DIEnumDevicesBySemanticsCallback 」를 참조할것.

구조체의 정보

헤더dinput.h
최저한의 operating system Windows 98

참조

IDirectInput8::EnumDevicesBySemantics ,IDirectInputDevice8::SetActionMap ,IDirectInput8::ConfigureDevices ,IDirectInputDevice8::BuildActionMap ,액션 맵


© 2002 Microsoft Corporation. All rights reserved.
↑TOP