관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

MIDIHDR 본문

API 관련/Win32 API 함수

MIDIHDR

님투 2007. 11. 9. 01:13
반응형

MIDIHDR

MIDI시스템에크스크루시브 또는 스트림 버퍼를 식별하기 위해서 사용되는 헤더를 정의합니다.

typedef struct midihdr_tag {
    LPSTR   lpData;                  // MIDI데이터 주소
    DWORD   dwBufferLength;          // 버퍼 사이즈
    DWORD   dwBytesRecorded;         // 실제의 데이터 사이즈
    DWORD_PTR dwUser;                // 커스텀 유저 데이터
    DWORD   dwFlags;                 // 플래그
    struct midihdr_tag FAR *lpNext;  // 예약(NULL)
    DWORD_PTR reserved;              // 예약(0)
    DWORD   dwOffset;                // 버퍼의 오프셋
    DWORD_PTR dwReserved[8];         // 예약
} MIDIHDR, *PMIDIHDR, NEAR *NPMIDIHDR, FAR *LPMIDIHDR;

멤버

lpData

MIDI 데이터를 격납한 버퍼의 주소가 격납됩니다.

dwBufferLength

데이터 버퍼의 사이즈가 격납됩니다.

dwBytesRecorded

버퍼중의 실제의 데이터 사이즈가 격납됩니다. dwBufferLength 멤버로 지정된 값이하가 아니면 안됩니다.

dwUser

커스텀 유저 데이터가 격납됩니다

dwFlags

버퍼에 관한 정보의 플래그가 격납됩니다.이하의 값의 편성이 됩니다.

의미
0x00000001 (MHDR_DONE)

버퍼가 필요하지 않게 되어, 어플리케이션에 돌려주어지고 있는 것을 나타냅니다.이 플래그는 디바이스 드라이버에 의해서 세트 됩니다.

0x00000002 (MHDR_PREPARED)

midiInPrepareHeader 함수 또는 midiOutPrepareHeader 함수의 호출에 의해서 버퍼가 준비된 것을 나타내 보입니다.이 플래그는 Windows 에 의해서 세트 됩니다.

0x00000004 (MHDR_INQUEUE)

버퍼는 재생을 위해서 큐에 넣어지고 있는 것을 나타냅니다.이 플래그는 Windows 에 의해서 세트 됩니다.

0x00000008 (MHDR_ISSTRM)

버퍼가 스트림 버퍼인 것을 나타냅니다.

lpNext

예약되고 있습니다.사용 해서는 안됩니다.

reserved

예약되고 있습니다.사용 해서는 안됩니다.

dwOffset

콜백 처리시의 버퍼의 오프셋이 격납됩니다.이 콜백은 MIDIEVENT 구조체의 dwEvent 멤버에 MEVT_F_CALLBACK 플래그가 설정되는 것에 의해서 발생합니다.이 오프셋은, 어느 이벤트가 콜백을 발생시켰는지를 어플리케이션을 결정될 수 있도록(듯이) 합니다.

dwReserved

예약되고 있습니다.사용 해서는 안됩니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

변수와의 대응

HSP 변수 멤버
멤버명 오프셋 사이즈
midihdr.0 lpData 0 4
midihdr.1 dwBufferLength 4 4
midihdr.2 dwBytesRecorded 8 4
midihdr.3 dwUser 12 4
midihdr.4 dwFlags 16 4
midihdr.5 lpNext 20 4
midihdr.6 reserved 24 4
midihdr.7 dwOffset 28 4
midihdr.8 dwReserved[0] 32 4
midihdr.15 dwReserved[7] 60 4
반응형

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

MIDIOUTCAPS  (0) 2007.11.09
MIDIEVENT  (0) 2007.11.09
WM_SIZE  (0) 2007.11.09
WM_MOVE  (0) 2007.11.09
WM_USER  (0) 2007.11.09
Comments