midiStreamOpen 함수(mmeapi.h)

midiStreamOpen 함수는 출력을 위해 MIDI 스트림을 엽니다. 기본적으로 디바이스는 일시 중지 모드로 열립니다. 이 함수에서 검색한 스트림 핸들은 스트림에 대한 모든 후속 참조에서 사용해야 합니다.

구문

MMRESULT midiStreamOpen(
  LPHMIDISTRM phms,
  LPUINT      puDeviceID,
  DWORD       cMidi,
  DWORD_PTR   dwCallback,
  DWORD_PTR   dwInstance,
  DWORD       fdwOpen
);

매개 변수

phms

함수가 반환할 때 스트림 핸들을 포함할 변수에 대한 포인터입니다.

puDeviceID

디바이스 식별자에 대한 포인터입니다. 스트림을 대신하여 디바이스가 열리고 스트림이 닫혔을 때 다시 닫힙니다.

cMidi

예약; 는 1이어야 합니다.

dwCallback

재생 진행률과 관련된 메시지를 처리하기 위해 MIDI 재생 중에 호출된 창 또는 스레드의 콜백 함수, 이벤트 핸들, 스레드 식별자 또는 핸들에 대한 포인터입니다. 콜백 메커니즘이 필요한 경우 이 매개 변수에 대해 NULL 을 지정합니다.

dwInstance

애플리케이션별 instance 모든 콜백 함수를 사용하여 애플리케이션에 반환되는 데이터입니다.

fdwOpen

디바이스를 열기 위한 콜백 플래그입니다. 다음 콜백 플래그 중 하나를 지정해야 합니다.

의미
CALLBACK_EVENT dwCallback 매개 변수는 이벤트 핸들입니다. 이 콜백 메커니즘은 출력 전용입니다.
CALLBACK_FUNCTION dwCallback 매개 변수는 콜백 프로시저 주소입니다. 콜백 서명은 MidiOutProc을 참조하세요.
CALLBACK_NULL 콜백 메커니즘이 없습니다. 이 값은 기본 설정입니다.
CALLBACK_THREAD dwCallback 매개 변수는 스레드 식별자입니다.
CALLBACK_WINDOW dwCallback 매개 변수는 창 핸들입니다.

반환 값

성공하면 MMSYSERR_NOERROR 반환하고, 그렇지 않으면 오류를 반환합니다. 가능한 오류 값은 다음과 같습니다.

반환 코드 설명
MMSYSERR_BADDEVICEID
지정된 디바이스 식별자가 범위를 벗어났습니다.
MMSYSERR_INVALPARAM
지정된 핸들 또는 플래그 매개 변수가 잘못되었습니다.
MMSYSERR_NOMEM
시스템에서 메모리를 할당하거나 잠글 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 mmeapi.h(Windows.h 포함)
라이브러리 Winmm.lib
DLL Winmm.dll

참고 항목

MIDI 함수