관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

midiOutShortMsg 본문

API 관련/Win32 API 함수

midiOutShortMsg

님투 2007. 11. 8. 23:07
반응형

midiOutShortMsg

지정되었다 MIDI 출력 디바이스에 쇼트 MIDI 메세지를 송신합니다.

MMRESULT midiOutShortMsg(
    HMIDIOUT hmo,    // MIDI출력 디바이스의 핸들
    DWORD    dwMsg   // MIDI메세지
);

WINMM.DLL

인수

hmo

MIDI 출력 디바이스의 핸들을 지정합니다. MIDI 스트림의 핸들을 지정할 수도 있습니다.

dwMsg

MIDI 메세지를 지정합니다.복수 바이트로 구성되는 메세지는 더블 워드치(4아르바이트치)에 이하와 같이 정리합니다.

위치 데이터
제1아르바이트 MIDI 스테이터스 바이트
제2아르바이트 MIDI 데이터1아르바이트눈
제3아르바이트 MIDI 데이터2아르바이트눈
제4아르바이트 사용되지 않습니다

스테이터스 바이트 나름으로는,2아르바이트의 MIDI 데이터로 할 수 있습니다.연속한 메세지가 같은 스테이터스 바이트를 가지는 경우에는, 최초의 메세지로 스테이터스 바이트를 포함한 다음은 메세지로부터 스테이터스 바이트를 생략 하는(즉, 런닝 스테이터스를 작성한다) 일이 생깁니다.이 경우는, 이하와 같이 정리합니다.

위치 데이터
제1아르바이트 MIDI 데이터1아르바이트눈
제2아르바이트 MIDI 데이터2아르바이트눈
제3아르바이트 사용되지 않습니다
제4아르바이트 사용되지 않습니다

반환값

함수가 성공하면 0 (MMSYSERR_NOERROR) 하지만 돌아갑니다.

함수가 실패하면, 이하의 에러가 돌아갑니다.

의미
5 (MMSYSERR_INVALHANDLE)

지정된 디바이스 핸들은 무효입니다.

67 (MIDIERR_NOTREADY)

하드웨어가 Busy 상태입니다.

70 (MIDIERR_BADOPENMODE)

어플리케이션이 스테이터스 바이트 없이 스트림 핸들에 메세지를 송신했습니다.

해설

이 함수는, 시스템에크스크루시브 및 스트림 메세지 이외의 MIDI 메세지를 송신하는데 사용됩니다.

이 함수는, 디바이스에 메세지를 송신할 때까지 제어를 돌려주지 않습니다.

같은 디바이스상에서 스트림 재생을 하고 있는 동안에, 쇼트 메세지를 송신할 수 있습니다.(다만, 이 경우는 런닝 스테이터스를 사용할 수 없습니다.)

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

MoveWindow  (0) 2007.11.08
midiStreamOpen  (0) 2007.11.08
midiOutReset  (0) 2007.11.08
midiOutOpen  (0) 2007.11.08
midiOutGetNumDevs  (0) 2007.11.08
Comments