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 |
반응형