다음을 통해 공유


midiStreamOut 함수(mmeapi.h)

midiStreamOut 함수는 MIDI 데이터의 스트림(버퍼)을 MIDI 출력 디바이스로 재생하거나 큐에 대기합니다.

구문

MMRESULT midiStreamOut(
  HMIDISTRM hms,
  LPMIDIHDR pmh,
  UINT      cbmh
);

매개 변수

hms

MIDI 스트림에 대한 핸들입니다. 이 핸들은 midiStreamOpen 함수를 호출하여 반환되어야 합니다. 이 핸들은 출력 디바이스를 식별합니다.

pmh

MIDI 버퍼를 식별하는 MIDIHDR 구조체에 대한 포인터입니다.

cbmh

MIDIHDR 구조체의 크기(바이트)입니다.

반환 값

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

반환 코드 설명
MMSYSERR_NOMEM
시스템에서 메모리를 할당하거나 잠글 수 없습니다.
MIDIERR_STILLPLAYING
lpMidiHdr에서 가리키는 출력 버퍼가 여전히 재생 중이거나 midiStreamOut에 대한 이전 호출에서 큐에 대기 중입니다.
MIDIERR_UNPREPARED
lpMidiHdr에서 가리키는 헤더가 준비되지 않았습니다.
MMSYSERR_INVALHANDLE
지정한 디바이스 핸들이 잘못되었습니다.
MMSYSERR_INVALPARAM
lpMidiHdr로 지정된 포인터가 잘못되었습니다.

설명

버퍼가 midiStreamOpen에 전달되기 전에 midiOutPrepareHeader 함수를 사용하여 준비해야 합니다.

midiStreamOpen 함수는 일시 중지 모드에서 출력 디바이스를 열기 때문에 midiStreamOut을 사용하여 재생을 시작하려면 먼저 midiStreamRestart 함수를 호출해야 합니다.

이 함수의 현재 구현의 경우 버퍼는 64K보다 작아야 합니다.

MIDIHDR 구조체가 가리키는 버퍼에는 MIDIEVENT 구조체로 정의된 하나 이상의 MIDI 이벤트가 포함됩니다.

요구 사항

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

참고 항목

MIDI 함수