DirectInput DirectInput C/C++ 레퍼런스 인터페이스 IDirectInputDevice8 BuildActionMap   [목차열람] [주소복사] [슬롯비우기]
IDirectInputDevice8::BuildActionMap 메서드
 
Microsoft DirectX 9.0

IDirectInputDevice8::BuildActionMap 메서드


장치의 액션 맵을 생성 해, 거기에 관한 정보를 얻어온다.

구문

HRESULT BuildActionMap(      

    LPDIACTIONFORMAT lpdiaf,     LPCTSTR lpszUserName,     DWORD dwFlags );

파라미터

lpdiaf
액션 맵에 관한 정보를 받는 DIACTIONFORMAT 구조체의 주소.
lpszUserName
어느 사용자의 맵핑을 요구하고 있는지를 지정하는 캐릭터 라인의 포인터. NULL 의 경우는, 현재의 사용자가 상정된다.
dwFlags
맵핑을 제어하는 플래그. 이 값은, 다음중 하나이다.
DIDBAM_DEFAULT
애플리케이션 지정의 맵핑 (즉 DIACTION 구조체에 DIA_APPMAPPED 플래그를 가지는 맵핑)을 제외하는 모든 맵핑을 덧쓰기한다.
DIDBAM_HWDEFAULTS
애플리케이션 지정의 맵핑을 포함해 모든 맵핑을 덧쓰기한다. 이 플래그는 DIDBAM_INITIALIZE 에 유사하고 있지만, 사용자가 맵 한 액션은, 장치 드라이버 또는 Microsoft® DirectInput® 로 지정된 디폴트 액션으로 자동적으로 덧쓰기된다.
DIDBAM_INITIALIZE
애플리케이션 지정의 맵핑을 포함해 모든 맵핑을 덧쓰기한다.
DIDBAM_PRESERVE
이 장치, 또는 그 외의 구성이 끝난 장치에 할당된 현재의 맵핑을 보존한다.

반환값

성공했을 경우는, DI_OK,DI_NOEFFECT , 또는 DI_WRITEPROTECT 를 돌려준다. 「주의」를 참조할것.

실패했을 경우는, 다음의 몇개의 에러값을 돌려준다.

DIERR_INVALIDPARAM무효인 파라미터가, 돌아오는 함수에 건네졌는지, 개체가 그 함수를 호출할 수 있는 상태에 없었다. 이 값은, 표준의 구성 요소 개체 모델 (COM) 반환값인 E_INVALIDARG 에 동일하다.
DIERR_MAPFILEFAIL벤더가 제공하는 장치의 액션 맵핑 파일의 read중인가, 또는 장치의 사용자 구성 파일의 read중 또는 쓰기중에 에러가 발생했다.


주의

장치에 맵핑이 생성되지 않은 경우, 이 메서드는 DI_NOEFFECT 를 돌려준다. 예를 들어, 키보드 또는 마우스가, 장르 고유 액션의 맵핑을 제공하지 않는 경우이다.

DIERR_INVALIDPARAM 가 돌려받는 경우, 맵핑의 1 개 이상이 무효이다. DIACTION 구조체의 dwHow 멤버에는 DIAH_ERROR 가 설정된다. 애플리케이션은, 액션 맵의 전체로 에러의 검출과 수정을 보간 할 수 있다.

DIEFF_MAPFILEFAIL 가 돌려주어졌을 경우는, 벤더가 제공하는 장치 파일의 read중인가, 또는 장치의 사용자 구성 파일의 read중 또는 쓰기중에 에러가 발생한 것을 나타낸다.

맵핑이 구성 가능하지 않은 경우는, DI_WRITEPROTECT 가 반환된다. 예를 들어, 음성 콘트롤러의 버튼은 복구성 할 수 없다. 이것은, 각 버튼에 의해 하드웨어 특유의 액션이 발생하기 위해(때문에)이다. DI_WRITEPROTECT 는 다른 성공 코드를 덧쓰기하므로, 액션이 맵핑 되었을 경우는, 반환 코드를 조사해도 모른다.

IDirectInputDevice8::BuildActionMap 가 성공해도, 어느 액션도 맵핑 되지 않는 경우, 그 후 IDirectInputDevice8::SetActionMap 를 호출하면 DI_OK 가 돌려주어지지만,IDirectInputDevice8::Acquire 를 호출하면 실패해, DIERR_INVALIDPARAM 가 반환된다.

참조

IDirectInputDevice8::SetActionMap ,IDirectInputDevice8::SetDataFormat


© 2002 Microsoft Corporation. All rights reserved.
↑TOP