midiOutPrepareHeader 함수(mmeapi.h)
midiOutPrepareHeader 함수는 출력을 위해 MIDI 시스템 전용 또는 스트림 버퍼를 준비합니다.
구문
MMRESULT midiOutPrepareHeader(
HMIDIOUT hmo,
LPMIDIHDR pmh,
UINT cbmh
);
매개 변수
hmo
MIDI 출력 디바이스에 대한 핸들입니다. 디바이스 핸들을 얻으려면 midiOutOpen을 호출합니다. 이 매개 변수는 HMIDIOUT 형식으로 캐스팅된 MIDI 스트림의 핸들일 수도 있습니다.
pmh
준비할 버퍼를 식별하는 MIDIHDR 구조체에 대한 포인터입니다.
함수를 호출하기 전에 MIDIHDR 구조체의 lpData, dwBufferLength 및 dwFlags 멤버를 설정합니다. dwFlags 멤버는 0으로 설정해야 합니다.
cbmh
MIDIHDR 구조체의 크기(바이트)입니다.
반환 값
성공하면 MMSYSERR_NOERROR 반환하고, 그렇지 않으면 오류를 반환합니다. 가능한 오류 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
지정한 디바이스 핸들이 잘못되었습니다. |
|
지정된 주소가 잘못되었거나 지정된 스트림 버퍼가 64K보다 큽니다. |
|
시스템에서 메모리를 할당하거나 잠글 수 없습니다. |
설명
MIDI 데이터 블록을 디바이스 드라이버에 전달하기 전에 midiOutPrepareHeader 함수에 전달하여 버퍼를 준비해야 합니다. 헤더가 준비되면 버퍼를 수정하지 마세요. 버퍼를 사용하여 드라이버를 완료한 후 midiOutUnprepareHeader 함수를 호출합니다.
애플리케이션은 동일한 버퍼를 다시 사용하거나 여러 버퍼를 할당하고 각 버퍼에 대해 midiOutPrepareHeader 를 호출할 수 있습니다. 동일한 버퍼를 다시 사용하는 경우 매번 버퍼를 준비할 필요가 없습니다. 처음에 midiOutPrepareHeader를 한 번 호출한 다음, 끝에 midiOutUnprepareHeader를 한 번 호출할 수 있습니다.
스트림 버퍼는 64K보다 클 수 없습니다.
이미 준비된 헤더를 준비해도 아무런 효과가 없으며 함수는 MMSYSERR_NOERROR 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | mmeapi.h(Windows.h 포함) |
라이브러리 | Winmm.lib |
DLL | Winmm.dll |