관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

midiOutOpen 본문

API 관련/Win32 API 함수

midiOutOpen

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

midiOutOpen

MIDI출력 디바이스를 재생용으로 오픈합니다.

MMRESULT midiOutOpen(
    LPHMIDIOUT phmo,       // 핸들을 격납하는 변수
    UINT_PTR   uDeviceID,  // 디바이스ID
    DWORD_PTR  dwCallback, // 콜백 파라미터
    DWORD_PTR  dwInstance, // 콜백에게 건네지는 데이터
    DWORD      dwFlags     // 콜백 플래그
);

WINMM.DLL

인수

phmo

MIDI 출력 디바이스 핸들을 격납하기 위한 변수의 주소를 지정합니다.이 핸들은, 다른 MIDI 출력용 함수의 호출로 사용됩니다.

uDeviceID

오픈한다 MIDI 출력 디바이스의 ID (을)를 지정합니다.

dwCallback

콜백 함수의 주소, 이벤트 핸들, 스렛드 ID , 윈도우 핸들, 또는, 스렛드한돌의 어느쪽이든을 지정합니다. MIDI 재생동안, 재생 경과에 관련되는 메세지를 처리하기 위해서, 이러한 어느쪽이든으로 콜백 처리를 행합니다.콜백을 사용하지 않는 경우는 0 (NULL) (을)를 지정합니다.

dwInstance

각각의 콜백 처리에게 건네지는 어플리케이션 고유의 인스턴스 데이터를 지정합니다.이 파라미터는, 윈도우 콜백 또는 스렛드에서는 사용되지 않습니다.

dwFlags

디바이스를 오픈할 때의 콜백 플래그를 지정합니다.이하의 값의 어느쪽이든을 지정합니다.

의미
0x00000000 (CALLBACK_NULL)

콜백을 사용하지 않습니다.

0x00010000 (CALLBACK_WINDOW)

dwCallback 파라미터가 윈도우 핸들인 것을 지정합니다.

0x00020000 (CALLBACK_THREAD)

dwCallback 파라미터가 스렛드 ID 인 것을 지정합니다.

0x00030000 (CALLBACK_FUNCTION)

dwCallback 파라미터가 콜백 함수의 주소인 것을 지정합니다.

0x00050000 (CALLBACK_EVENT)

dwCallback 파라미터가 이벤트 핸들인 것을 지정합니다.

반환값

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

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

의미
2 (MMSYSERR_BADDEVICEID)

지정된 디바이스 ID (은)는 범위외입니다.

4 (MMSYSERR_ALLOCATED)

지정된 자원은 벌써 할당할 수 있고 있습니다.

7 (MMSYSERR_NOMEM)

메모리의 확보 또는 락에 실패했습니다.

11 (MMSYSERR_INVALPARAM) 지정된 포인터 또는 구조체는 무효입니다.
68 (MIDIERR_NODEVICE)

MIDI 포토가 발견되지 않습니다.이 에러는 MIDI Mapper 하지만 오픈되려고 했을 때 마셔 발생합니다.

해설

시스템에 존재한다 MIDI 출력 디바이스의 수를 취득하려면 , midiOutGetNumDevs 함수를 사용합니다. uDeviceID 파라미터로 지정되는 디바이스 ID (은)는, 0 (으)로부터, 존재한다 MIDI 출력 디바이스의 수부터 1 적은 값까지의 사이의 수가 됩니다.또, MIDI Mapper (을)를 오픈하는데, 디바이스 ID (으)로서 -1 (MIDI_MAPPER) (을)를 지정할 수 있습니다.

콜백 정보를 받아들이는데 윈도우 또는 스렛드를 선택했을 경우는, MIDI 출력의 경과를 나타내기 위해서 MM_MOM_OPEN, MM_MOM_CLOSE, 및MM_MOM_DONE 의 각 메세지가 윈도우 프로시저 또는 스렛드에 보내집니다.

콜백 정보를 받아들이는데 콜백 함수를 선택했을 경우는, MIDI 출력의 경과를 나타내기 위해서 MOM_OPEN, MOM_CLOSE, 및 MOM_DONE 의 각 메세지가 콜백 함수에 보내집니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

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

midiOutShortMsg  (0) 2007.11.08
midiOutReset  (0) 2007.11.08
midiOutGetNumDevs  (0) 2007.11.08
midiOutGetDevCaps(A)  (0) 2007.11.08
midiOutClose  (0) 2007.11.08
Comments