Fixed segmented/linear buffers manipulation.
Better IO buffering. Added some missing prototypes.
This commit is contained in:
parent
98f86fcda4
commit
f8fe366b37
2515
dlls/winmm/mmio.c
2515
dlls/winmm/mmio.c
File diff suppressed because it is too large
Load Diff
|
@ -156,13 +156,13 @@ type win16
|
|||
1214 pascal mmioSeek(word long word) mmioSeek16
|
||||
1215 pascal mmioGetInfo(word ptr word) mmioGetInfo16
|
||||
1216 pascal mmioSetInfo(word ptr word) mmioSetInfo16
|
||||
1217 pascal mmioSetBuffer(word ptr long word) mmioSetBuffer16
|
||||
1217 pascal mmioSetBuffer(word segptr long word) mmioSetBuffer16
|
||||
1218 pascal mmioFlush(word word) mmioFlush16
|
||||
1219 pascal mmioAdvance(word ptr word) mmioAdvance16
|
||||
1220 pascal mmioStringToFOURCC(str word) mmioStringToFOURCC16
|
||||
1221 pascal mmioInstallIOProc(long ptr long) mmioInstallIOProc16
|
||||
1222 pascal mmioSendMessage(word word long long) mmioSendMessage
|
||||
1223 pascal mmioDescend(word ptr ptr word) mmioDescend
|
||||
1222 pascal mmioSendMessage(word word long long) mmioSendMessage16
|
||||
1223 pascal mmioDescend(word ptr ptr word) mmioDescend16
|
||||
1224 pascal mmioAscend(word ptr word) mmioAscend16
|
||||
1225 pascal mmioCreateChunk(word ptr word) mmioCreateChunk16
|
||||
1226 pascal mmioRename(ptr ptr ptr long) mmioRename16
|
||||
|
|
|
@ -44,7 +44,7 @@ typedef struct {
|
|||
extern BOOL MMDRV_Init(void);
|
||||
extern UINT MMDRV_GetNum(UINT);
|
||||
extern LPWINE_MLD MMDRV_Alloc(UINT size, UINT type, LPHANDLE hndl, DWORD* dwFlags,
|
||||
DWORD* dwCallback, DWORD* dwInstance, BOOL bFrom32);
|
||||
DWORD* dwCallback, DWORD* dwInstance, BOOL bFrom32);
|
||||
extern void MMDRV_Free(HANDLE hndl, LPWINE_MLD mld);
|
||||
extern DWORD MMDRV_Open(LPWINE_MLD mld, UINT wMsg, DWORD dwParam1, DWORD dwParam2);
|
||||
extern DWORD MMDRV_Close(LPWINE_MLD mld, UINT wMsg);
|
||||
|
@ -99,7 +99,7 @@ typedef struct tagWINE_MCIDRIVER {
|
|||
|
||||
#define WINE_TIMER_IS32 0x80
|
||||
|
||||
typedef struct tagTIMERENTRY {
|
||||
typedef struct tagWINE_TIMERENTRY {
|
||||
UINT wDelay;
|
||||
UINT wResol;
|
||||
FARPROC16 lpFunc;
|
||||
|
@ -107,9 +107,18 @@ typedef struct tagTIMERENTRY {
|
|||
UINT16 wFlags;
|
||||
UINT16 wTimerID;
|
||||
UINT uCurTime;
|
||||
struct tagTIMERENTRY* lpNext;
|
||||
struct tagWINE_TIMERENTRY* lpNext;
|
||||
} WINE_TIMERENTRY, *LPWINE_TIMERENTRY;
|
||||
|
||||
typedef struct tagWINE_MMIO {
|
||||
MMIOINFO info;
|
||||
struct IOProcList* ioProc;
|
||||
BOOL bTmpIOProc;
|
||||
HANDLE hMem;
|
||||
SEGPTR buffer16;
|
||||
struct tagWINE_MMIO* lpNext;
|
||||
} WINE_MMIO, *LPWINE_MMIO;
|
||||
|
||||
typedef struct tagWINE_MM_IDATA {
|
||||
/* iData reference */
|
||||
DWORD dwThisProcess;
|
||||
|
@ -131,6 +140,8 @@ typedef struct tagWINE_MM_IDATA {
|
|||
/* LPWINE_WAVE lpWave; */
|
||||
/* LPWINE_MIDI lpMidi; */
|
||||
/* LPWINE_MIXER lpMixer; */
|
||||
/* mmio part */
|
||||
LPWINE_MMIO lpMMIO;
|
||||
} WINE_MM_IDATA, *LPWINE_MM_IDATA;
|
||||
|
||||
/* function prototypes */
|
||||
|
|
|
@ -126,7 +126,7 @@ rsrc winmm
|
|||
@ stdcall mmioGetInfo(long ptr long) mmioGetInfo
|
||||
@ stub mmioInstallIOProc16
|
||||
@ stdcall mmioInstallIOProcA(long ptr long) mmioInstallIOProcA
|
||||
@ stub mmioInstallIOProcW
|
||||
@ stdcall mmioInstallIOProcW(long ptr long) mmioInstallIOProcW
|
||||
@ stdcall mmioOpenA(str ptr long) mmioOpenA
|
||||
@ stdcall mmioOpenW(wstr ptr long) mmioOpenW
|
||||
@ stdcall mmioRead(long ptr long) mmioRead
|
||||
|
|
|
@ -1498,7 +1498,7 @@ typedef struct {
|
|||
FOURCC fccIOProc; /* pointer to I/O procedure */
|
||||
LPMMIOPROC16 pIOProc; /* pointer to I/O procedure */
|
||||
UINT16 wErrorRet; /* place for error to be returned */
|
||||
HTASK16 htask; /* alternate local task */
|
||||
HTASK16 hTask; /* alternate local task */
|
||||
/* fields maintained by MMIO functions during buffered I/O */
|
||||
LONG cchBuffer; /* size of I/O buffer (or 0L) */
|
||||
HPSTR pchBuffer; /* start of I/O buffer (or NULL) */
|
||||
|
@ -1520,7 +1520,7 @@ typedef struct {
|
|||
FOURCC fccIOProc;
|
||||
LPMMIOPROC pIOProc;
|
||||
UINT wErrorRet;
|
||||
HTASK htask;
|
||||
HTASK hTask;
|
||||
/* fields maintained by MMIO functions during buffered I/O */
|
||||
LONG cchBuffer;
|
||||
HPSTR pchBuffer;
|
||||
|
@ -1618,8 +1618,8 @@ FOURCC WINAPI mmioStringToFOURCC16(LPCSTR,UINT16);
|
|||
FOURCC WINAPI mmioStringToFOURCCA(LPCSTR,UINT);
|
||||
FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR,UINT);
|
||||
#define mmioStringToFOURCC WINELIB_NAME_AW(mmioStringToFOURCC)
|
||||
HMMIO16 WINAPI mmioOpen16 (LPSTR ,MMIOINFO16*,DWORD);
|
||||
HMMIO WINAPI mmioOpenA(LPSTR ,MMIOINFO*,DWORD);
|
||||
HMMIO16 WINAPI mmioOpen16(LPSTR,MMIOINFO16*,DWORD);
|
||||
HMMIO WINAPI mmioOpenA(LPSTR,MMIOINFO*,DWORD);
|
||||
HMMIO WINAPI mmioOpenW(LPWSTR,MMIOINFO*,DWORD);
|
||||
#define mmioOpen WINELIB_NAME_AW(mmioOpen)
|
||||
|
||||
|
@ -1649,9 +1649,10 @@ UINT16 WINAPI mmioFlush16(HMMIO16,UINT16);
|
|||
UINT WINAPI mmioFlush(HMMIO,UINT);
|
||||
UINT16 WINAPI mmioAdvance16(HMMIO16,MMIOINFO16*,UINT16);
|
||||
UINT WINAPI mmioAdvance(HMMIO,MMIOINFO*,UINT);
|
||||
LONG WINAPI mmioSendMessage(HMMIO16,UINT16,LPARAM,LPARAM);
|
||||
UINT16 WINAPI mmioDescend(HMMIO16,MMCKINFO*,const MMCKINFO*,UINT16);
|
||||
|
||||
LONG WINAPI mmioSendMessage16(HMMIO16,UINT16,LPARAM,LPARAM);
|
||||
LONG WINAPI mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
|
||||
UINT16 WINAPI mmioDescend16(HMMIO16,MMCKINFO*,const MMCKINFO*,UINT16);
|
||||
UINT WINAPI mmioDescend(HMMIO,MMCKINFO*,const MMCKINFO*,UINT);
|
||||
UINT16 WINAPI mmioAscend16(HMMIO16,MMCKINFO*,UINT16);
|
||||
UINT WINAPI mmioAscend(HMMIO,MMCKINFO*,UINT);
|
||||
UINT16 WINAPI mmioCreateChunk16(HMMIO16,MMCKINFO*,UINT16);
|
||||
|
|
Loading…
Reference in New Issue