midiOutOpen 함수(mmeapi.h)
midiOutOpen 함수는 재생을 위해 MIDI 출력 디바이스를 엽니다.
구문
MMRESULT midiOutOpen(
LPHMIDIOUT phmo,
UINT uDeviceID,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
매개 변수
phmo
HMIDIOUT 핸들에 대한 포인터입니다. 이 위치는 열린 MIDI 출력 디바이스를 식별하는 핸들로 채워집니다. 핸들은 다른 MIDI 출력 함수에 대한 호출에서 디바이스를 식별하는 데 사용됩니다.
uDeviceID
열 MIDI 출력 디바이스의 식별자입니다.
dwCallback
재생 진행률과 관련된 메시지를 처리하기 위해 MIDI 재생 중에 호출된 창 또는 스레드의 콜백 함수, 이벤트 핸들, 스레드 식별자 또는 핸들에 대한 포인터입니다. 콜백이 필요한 경우 이 매개 변수에 대해 NULL 을 지정합니다. 콜백 함수에 대한 자세한 내용은 MidiOutProc을 참조하세요.
dwInstance
콜백에 전달된 사용자 instance 데이터입니다. 이 매개 변수는 창 콜백 또는 스레드와 함께 사용되지 않습니다.
fdwOpen
디바이스를 열기 위한 콜백 플래그입니다. 다음 값일 수 있습니다.
값 | 의미 |
---|---|
CALLBACK_EVENT | dwCallback 매개 변수는 이벤트 핸들입니다. 이 콜백 메커니즘은 출력 전용입니다. |
CALLBACK_FUNCTION | dwCallback 매개 변수는 콜백 함수 주소입니다. |
CALLBACK_NULL | 콜백 메커니즘이 없습니다. 이 값은 기본 설정입니다. |
CALLBACK_THREAD | dwCallback 매개 변수는 스레드 식별자입니다. |
CALLBACK_WINDOW | dwCallback 매개 변수는 창 핸들입니다. |
반환 값
성공하거나 오류가 있으면 MMSYSERR_NOERROR 반환합니다. 가능한 오류 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
MIDI 포트를 찾을 수 없습니다. 이 오류는 매퍼가 열릴 때만 발생합니다. |
|
지정된 리소스가 이미 할당되어 있습니다. |
|
지정된 디바이스 식별자가 범위를 벗어났습니다. |
|
지정한 포인터 또는 구조체가 잘못되었습니다. |
|
시스템에서 메모리를 할당하거나 잠글 수 없습니다. |
설명
시스템에 있는 MIDI 출력 디바이스 수를 확인하려면 midiOutGetNumDevs 함수를 사용합니다. wDeviceID로 지정된 디바이스 식별자는 존재하는 디바이스 수보다 0개에서 1개씩 다릅니다. MIDI_MAPPER 디바이스 식별자로 사용할 수도 있습니다.
창 또는 스레드가 콜백 정보를 수신하도록 선택된 경우 창 프로시저 또는 스레드로 전송되어 MIDI 출력의 진행률을 나타내는 MM_MOM_OPEN, MM_MOM_CLOSE 및 MM_MOM_DONE.
콜백 정보를 수신하도록 함수를 선택한 경우 MIDI 출력의 진행률을 나타내기 위해 함수로 전송됩니다. MOM_OPEN, MOM_CLOSE 및 MOM_DONE.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | mmeapi.h(Windows.h 포함) |
라이브러리 | Winmm.lib |
DLL | Winmm.dll |