Changeset 3932 for trunk/src


Ignore:
Timestamp:
Aug 2, 2000, 7:18:33 PM (25 years ago)
Author:
bird
Message:

Added the CVS Keyword Id.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/winmm/mmio.cpp

    r2812 r3932  
     1/* $Id: mmio.cpp,v 1.7 2000-08-02 17:18:33 bird Exp $ */
    12/*
    23 * MMIO functions
     
    3233 *               mmioDosIOProc           [internal]
    3334 */
    34 static LRESULT WIN32API mmioDosIOProc(LPMMIOINFO lpmmioinfo, UINT uMessage, LPARAM lParam1, LPARAM lParam2) 
     35static LRESULT WIN32API mmioDosIOProc(LPMMIOINFO lpmmioinfo, UINT uMessage, LPARAM lParam1, LPARAM lParam2)
    3536{
    3637        dprintf(("mmioDosIOProc (%p, %X, %ld, %ld);\n", lpmmioinfo, uMessage, lParam1, lParam2));
     
    99100
    100101                case MMIOM_WRITE:
    101                 case MMIOM_WRITEFLUSH: { 
     102                case MMIOM_WRITEFLUSH: {
    102103                        /* no internal buffering, so WRITEFLUSH handled same as WRITE */
    103104
     
    129130             */
    130131
    131             LONG Offset = (LONG) lParam1; 
    132             LONG Whence = (LONG) lParam2; 
     132            LONG Offset = (LONG) lParam1;
     133            LONG Whence = (LONG) lParam2;
    133134            LONG pos;
    134135
     
    139140            return pos;
    140141                }
    141                  
     142
    142143                case MMIOM_RENAME: {
    143144            /* Parameters:
     
    155156                        return 0;
    156157        }
    157        
     158
    158159        return 0;
    159160}
     
    208209
    209210                case MMIOM_WRITE:
    210                 case MMIOM_WRITEFLUSH: { 
     211                case MMIOM_WRITEFLUSH: {
    211212                        /* no internal buffering, so WRITEFLUSH handled same as WRITE */
    212213
     
    240241                        return -1;
    241242                }
    242                  
     243
    243244                default:
    244245                        dprintf(("WINMM (mmioMemIOProc) unexpected message %u\n", uMessage));
    245246                        return 0;
    246247        }
    247        
     248
    248249        return 0;
    249250}
     
    256257        LPMMIOINFO lpmminfo;
    257258        HMMIO      hmmio;
    258        
     259
    259260//      TRACE("('%s', %08lX);\n", szFileName, dwOpenFlags);
    260        
     261
    261262        if (dwOpenFlags & MMIO_PARSE) {
    262263                char    buffer[MAX_PATH];
    263                
     264
    264265                if (GetFullPathNameA(szFileName, sizeof(buffer), buffer, NULL) >= sizeof(buffer))
    265266                        return (HMMIO)FALSE;
     
    285286                lpmminfo->pIOProc = mmioInstallIOProcA(refmminfo->fccIOProc, NULL, MMIO_FINDPROC);
    286287
    287         } 
     288        }
    288289        /* if IO proc specified, use it and specified four character code */
    289290        else {
     
    302303                }
    303304        }
    304        
     305
    305306        /* see mmioDosIOProc for that one */
    306307        lpmminfo->adwInfo[0] = refmminfo->adwInfo[0];
    307308        lpmminfo->dwFlags = dwOpenFlags;
    308309        lpmminfo->hmmio = hmmio;
    309        
     310
    310311        /* call IO proc to actually open file */
    311312        refmminfo->wErrorRet = (UINT) mmioSendMessage(hmmio, MMIOM_OPEN, (LPARAM) szFileName, (LPARAM) 0);
    312        
     313
    313314        GlobalUnlock(hmmio);
    314        
     315
    315316        if (refmminfo->wErrorRet != 0) {
    316317                GlobalFree(hmmio);
    317318                return 0;
    318319        }
    319        
     320
    320321        return hmmio;
    321322}
     
    345346{
    346347        HMMIO   ret;
    347        
     348
    348349        if (lpmmioinfo) {
    349350                ret = MMIO_Open(szFileName, lpmmioinfo, dwOpenFlags);
     
    361362}
    362363
    363    
     364
    364365/**************************************************************************
    365366 *                              mmioClose               [WINMM.114]
    366367 */
    367368ODINFUNCTION2(MMRESULT, mmioClose,
    368               HMMIO,hmmio, 
     369              HMMIO,hmmio,
    369370              UINT,uFlags)
    370371{
     
    399400ODINFUNCTION3(LONG, mmioRead,
    400401              HMMIO,hmmio,
    401               HPSTR,pch, 
     402              HPSTR,pch,
    402403              LONG,cch)
    403404{
     
    505506 *                              mmioSeek                [MMSYSTEM.1214]
    506507 */
    507 ODINFUNCTION3(LONG, mmioSeek, 
    508               HMMIO, hmmio, 
    509               LONG,lOffset, 
     508ODINFUNCTION3(LONG, mmioSeek,
     509              HMMIO, hmmio,
     510              LONG,lOffset,
    510511              INT,iOrigin)
    511512{
     
    545546 *                              mmioGetInfo             [MMSYSTEM.1215]
    546547 */
    547 ODINFUNCTION3(UINT, mmioGetInfo, 
    548               HMMIO,hmmio, 
    549               LPMMIOINFO,lpmmioinfo, 
     548ODINFUNCTION3(UINT, mmioGetInfo,
     549              HMMIO,hmmio,
     550              LPMMIOINFO,lpmmioinfo,
    550551              UINT,uFlags)
    551552{
     
    564565 */
    565566ODINFUNCTION3(MMRESULT,mmioSetInfo,
    566              HMMIO, hmmio, 
    567              const MMIOINFO*,lpmmioinfo, 
     567             HMMIO, hmmio,
     568             const MMIOINFO*,lpmmioinfo,
    568569             UINT,uFlags)
    569570{
     
    582583*/
    583584ODINFUNCTION4(UINT,mmioSetBuffer,
    584               HMMIO,hmmio, 
    585               LPSTR,pchBuffer, 
     585              HMMIO,hmmio,
     586              LPSTR,pchBuffer,
    586587              LONG,cchBuffer,
    587588              UINT,uFlags)
     
    641642 */
    642643ODINFUNCTION2(UINT,mmioFlush,
    643               HMMIO,hmmio, 
     644              HMMIO,hmmio,
    644645              UINT,uFlags)
    645646{
     
    684685 */
    685686ODINFUNCTION3(UINT,mmioAdvance,
    686               HMMIO, hmmio, 
     687              HMMIO, hmmio,
    687688              LPMMIOINFO,lpmmioinfo,
    688689              UINT,uFlags)
     
    753754static struct IOProcList *pIOProcListAnchor = &defaultProcs[0];
    754755
    755 ODINFUNCTION3(LPMMIOPROC, mmioInstallIOProcA, 
    756               FOURCC,fccIOProc, 
     756ODINFUNCTION3(LPMMIOPROC, mmioInstallIOProcA,
     757              FOURCC,fccIOProc,
    757758              LPMMIOPROC,pIOProc,
    758759              DWORD,dwFlags)
     
    777778                    /* Find the end of the list, so we can add our new entry to it */
    778779                    struct IOProcList *pListEnd = pIOProcListAnchor;
    779                     while (pListEnd->pNext) 
     780                    while (pListEnd->pNext)
    780781                       pListEnd = pListEnd->pNext;
    781            
     782
    782783                    /* Fill in this node */
    783784                    pListNode->fourCC = fccIOProc;
    784785                    pListNode->pIOProc = pIOProc;
    785            
     786
    786787                    /* Stick it on the end of the list */
    787788                    pListEnd->pNext = pListNode;
    788789                    pListNode->pNext = NULL;
    789            
     790
    790791                    /* Return this IOProc - that's how the caller knows we succeeded */
    791792                    lpProc = pIOProc;
    792                   }; 
     793                  };
    793794                  break;
    794                  
     795
    795796                case MMIO_REMOVEPROC:
    796                   /* 
     797                  /*
    797798                   * Search for the node that we're trying to remove - note
    798799                   * that this method won't find the first item on the list, but
     
    800801                   * let the user delete anyway, that's okay
    801802                   */
    802            
     803
    803804                  pListNode = pIOProcListAnchor;
    804805                  while (pListNode && pListNode->pNext->fourCC != fccIOProc)
    805806                    pListNode = pListNode->pNext;
    806            
     807
    807808                  /* If we found it, remove it, but only if it isn't builtin */
    808                   if (pListNode && 
     809                  if (pListNode &&
    809810                      ((pListNode >= defaultProcs) && (pListNode < defaultProcs + sizeof(defaultProcs))))
    810811                  {
     
    814815                  };
    815816                  break;
    816            
     817
    817818                case MMIO_FINDPROC:
    818819                      /* Iterate through the list looking for this proc identified by fourCC */
     
    836837*/
    837838ODINFUNCTION4(LRESULT,mmioSendMessage,
    838               HMMIO,hmmio, 
     839              HMMIO,hmmio,
    839840              UINT,uMessage,
    840               LPARAM,lParam1, 
     841              LPARAM,lParam1,
    841842              LPARAM,lParam2)
    842843{
     
    882883*/
    883884ODINFUNCTION4(UINT,mmioDescend,
    884               HMMIO,hmmio, 
     885              HMMIO,hmmio,
    885886              LPMMCKINFO,lpck,
    886               const MMCKINFO *,lpckParent, 
     887              const MMCKINFO *,lpckParent,
    887888              UINT,uFlags)
    888889{
     
    891892        FOURCC          srchType;
    892893
    893        
     894
    894895//      TRACE("(%04X, %p, %p, %04X);\n", hmmio, lpck, lpckParent, uFlags);
    895        
     896
    896897        if (lpck == NULL)
    897898                return MMSYSERR_INVALPARAM;
    898        
     899
    899900        dwOldPos = mmioSeek(hmmio, 0, SEEK_CUR);
    900901        dprintf(("WINMM: mmioDescend - dwOldPos=%ld\n", dwOldPos));
    901        
     902
    902903        if (lpckParent != NULL) {
    903904                TRACE("seek inside parent at %ld !\n", lpckParent->dwDataOffset);
     
    908909                }
    909910        }
    910        
     911
    911912        /* The SDK docu says 'ckid' is used for all cases. Real World
    912          * examples disagree -Marcus,990216. 
     913         * examples disagree -Marcus,990216.
    913914         */
    914        
     915
    915916        srchType = 0;
    916917        /* find_chunk looks for 'ckid' */
     
    926927                srchType = lpck->fccType;
    927928        }
    928         dprintf(("WINMM: mmioDescend - searching for %.4s.%.4s\n", 
     929        dprintf(("WINMM: mmioDescend - searching for %.4s.%.4s\n",
    929930              (LPSTR)&srchCkId,
    930931              srchType?(LPSTR)&srchType:"<any>"));
    931        
     932
    932933        if (uFlags & (MMIO_FINDCHUNK|MMIO_FINDLIST|MMIO_FINDRIFF)) {
    933934                while (TRUE) {
    934935                        LONG ix;
    935                        
     936
    936937                        ix = mmioRead(hmmio, (LPSTR)lpck, 3 * sizeof(DWORD));
    937938                        if (ix < 2*sizeof(DWORD)) {
     
    947948                        }
    948949                        dprintf(("WINMM: mmioDescend - ckid=%.4ss fcc=%.4ss cksize=%08lX !\n",
    949                               (LPSTR)&lpck->ckid, 
     950                              (LPSTR)&lpck->ckid,
    950951                              srchType?(LPSTR)&lpck->fccType:"<unused>",
    951952                              lpck->cksize));
     
    954955                            )
    955956                                break;
    956                        
     957
    957958                        dwOldPos = lpck->dwDataOffset + ((lpck->cksize + 1) & ~1);
    958959                        mmioSeek(hmmio, dwOldPos, SEEK_SET);
     
    976977        else
    977978                mmioSeek(hmmio, lpck->dwDataOffset, SEEK_SET);
    978         dprintf(("WINMM: mmioDescend - lpck: ckid=%.4s, cksize=%ld, dwDataOffset=%ld fccType=%08lX (%.4s)!\n", 
    979               (LPSTR)&lpck->ckid, lpck->cksize, lpck->dwDataOffset, 
     979        dprintf(("WINMM: mmioDescend - lpck: ckid=%.4s, cksize=%ld, dwDataOffset=%ld fccType=%08lX (%.4s)!\n",
     980              (LPSTR)&lpck->ckid, lpck->cksize, lpck->dwDataOffset,
    980981              lpck->fccType, srchType?(LPSTR)&lpck->fccType:""));
    981982        return 0;
     
    986987 */
    987988ODINFUNCTION3(UINT,mmioAscend,
    988               HMMIO,hmmio, 
     989              HMMIO,hmmio,
    989990              LPMMCKINFO,lpck,
    990991              UINT,uFlags)
     
    994995        if (lpck->dwFlags & MMIO_DIRTY) {
    995996                DWORD   dwOldPos, dwNewSize, dwSizePos;
    996                
     997
    997998                dprintf(("WINMM: mmioAscend - chunk is marked MMIO_DIRTY, correcting chunk size\n"));
    998999                dwOldPos = mmioSeek(hmmio, 0, SEEK_CUR);
     
    10021003                        TRACE("dwNewSize=%ld\n", dwNewSize);
    10031004                        lpck->cksize = dwNewSize;
    1004                        
     1005
    10051006                        dwSizePos = lpck->dwDataOffset - sizeof(DWORD);
    10061007            dprintf(("WINMM: mmioAscend - dwSizePos=%ld\n", dwSizePos));
    1007                        
     1008
    10081009                        mmioSeek(hmmio, dwSizePos, SEEK_SET);
    10091010                        mmioWrite(hmmio, (LPSTR)&dwNewSize, sizeof(DWORD));
     
    10121013
    10131014        mmioSeek(hmmio, lpck->dwDataOffset + ((lpck->cksize + 1) & ~1), SEEK_SET);
    1014        
     1015
    10151016        return 0;
    10161017}
     
    10201021 */
    10211022ODINFUNCTION3(UINT,mmioCreateChunk,
    1022               HMMIO,hmmio, 
    1023               LPMMCKINFO,lpck, 
     1023              HMMIO,hmmio,
     1024              LPMMCKINFO,lpck,
    10241025              UINT,uFlags)
    10251026{
     
    10431044        lpck->dwDataOffset = dwOldPos + size;
    10441045
    1045         if (lpck->ckid == FOURCC_RIFF || lpck->ckid == FOURCC_LIST) 
     1046        if (lpck->ckid == FOURCC_RIFF || lpck->ckid == FOURCC_LIST)
    10461047                size += sizeof(DWORD);
    10471048        lpck->dwFlags = MMIO_DIRTY;
     
    10641065              LPCSTR,szFileName,
    10651066              LPCSTR,szNewFileName,
    1066               LPMMIOINFO,lpmmioinfo, 
     1067              LPMMIOINFO,lpmmioinfo,
    10671068              DWORD,dwRenameFlags)
    10681069{
     
    10791080        if (lpmmioinfo)
    10801081                memcpy(lpmminfo, lpmmioinfo, sizeof(MMIOINFO));
    1081        
     1082
    10821083        /* assume DOS file if not otherwise specified */
    10831084        if (lpmminfo->fccIOProc == 0 && lpmminfo->pIOProc == NULL) {
     
    10921093                lpmminfo->pIOProc = mmioInstallIOProcA(lpmminfo->fccIOProc, NULL, MMIO_FINDPROC);
    10931094
    1094         } 
     1095        }
    10951096        /* (if IO proc specified, use it and specified four character code) */
    10961097
    10971098        result = (UINT) mmioSendMessage(hmmio, MMIOM_RENAME, (LPARAM) szFileName, (LPARAM) szNewFileName);
    1098        
     1099
    10991100        GlobalUnlock(hmmio);
    11001101        GlobalFree(hmmio);
     
    11101111              LPCWSTR,szFileName,
    11111112              LPCWSTR,szNewFileName,
    1112               LPMMIOINFO,lpmmioinfo, 
     1113              LPMMIOINFO,lpmmioinfo,
    11131114              DWORD,dwRenameFlags)
    11141115{
Note: See TracChangeset for help on using the changeset viewer.