Changeset 95


Ignore:
Timestamp:
Feb 13, 2007, 10:07:42 PM (17 years ago)
Author:
NoWest
Message:

mmsystem.hの完全移植完了。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Include/api_mmsys.sbp

    r76 r95  
    8484
    8585Const MM_MCINOTIFY =      &H3B9         'MCI
    86 Const MCI_NOTIFY_SUCCESSFUL =         &H0001
    87 Const MCI_NOTIFY_SUPERSEDED =         &H0002
    88 Const MCI_NOTIFY_ABORTED =            &H0004
    89 Const MCI_NOTIFY_FAILURE =            &H0008
    9086
    9187Const MM_WOM_OPEN =       &H3BB         'waveform output
     
    13851381' MCI support
    13861382
    1387 '--------------------------------------------------------
    1388 ' Time Format(used in MCI_SET_PARAMS, MCI_STATUS_PARAMS)
    1389 
    1390 Const MCI_FORMAT_MILLISECONDS =       0
    1391 Const MCI_FORMAT_HMS =                1
    1392 Const MCI_FORMAT_MSF =                2
    1393 Const MCI_FORMAT_FRAMES =             3
    1394 Const MCI_FORMAT_SMPTE_24 =           4
    1395 Const MCI_FORMAT_SMPTE_25 =           5
    1396 Const MCI_FORMAT_SMPTE_30 =           6
    1397 Const MCI_FORMAT_SMPTE_30DROP =       7
    1398 Const MCI_FORMAT_BYTES =              8
    1399 Const MCI_FORMAT_SAMPLES =            9
    1400 Const MCI_FORMAT_TMSF =               10
    1401 
    1402 
    1403 '--------------
    1404 ' Types of MCI
    1405 '--------------
    1406 
    1407 Type MCI_OPEN_PARMS
    1408     dwCallback As DWord
    1409     wDeviceID As DWord
    1410     lpstrDeviceType As BytePtr
    1411     lpstrElementName As BytePtr
    1412     lpstrAlias As BytePtr
    1413 End Type
    1414 
    1415 Type MCI_PLAY_PARMS
    1416     dwCallback As DWord
    1417     dwFrom As DWord
    1418     dwTo As DWord
    1419 End Type
    1420 
    1421 Type MCI_SEEK_PARMS
    1422     dwCallback As DWord
    1423     dwTo As DWord
    1424 End Type
    1425 
    1426 Type MCI_SET_PARMS
    1427     dwCallback As DWord
    1428     dwTimeFormat As DWord
    1429     dwAudio As DWord
    1430 End Type
    1431 
    1432 Const MCI_STATUS_LENGTH =             &H00000001
    1433 Const MCI_STATUS_POSITION =           &H00000002
    1434 Const MCI_STATUS_NUMBER_OF_TRACKS =   &H00000003
    1435 Const MCI_STATUS_MODE =               &H00000004
    1436 Const MCI_STATUS_MEDIA_PRESENT =      &H00000005
    1437 Const MCI_STATUS_TIME_FORMAT =        &H00000006
    1438 Const MCI_STATUS_READY =              &H00000007
    1439 Const MCI_STATUS_CURRENT_TRACK =      &H00000008
    1440 Type MCI_STATUS_PARMS
    1441     dwCallback As DWord
    1442     dwReturn As DWord
    1443     dwItem As DWord
    1444     dwTrack As DWord
    1445 End Type
    1446 
    1447 
    1448 '------------
    1449 ' MCI Macros
    1450 
    1451 Function MCI_MAKE_TMSF(tracks As Byte, minutes As Byte, seconds As Byte, frames As Byte) As DWord
    1452     MCI_MAKE_TMSF=MAKELONG(MAKEWORD(tracks,minutes),MAKEWORD(seconds,frames))
    1453 End Function
    1454 
    1455 Function MCI_MSF_MINUTE(dwMFS As DWord) As Byte
    1456     MCI_MSF_MINUTE=LOBYTE(LOWORD(dwMFS))
    1457 End Function
    1458 
    1459 Function MCI_MSF_SECOND(dwMFS As DWord) As Byte
    1460     MCI_MSF_SECOND=HIBYTE(LOWORD(dwMFS))
    1461 End Function
    1462 
    1463 
    1464 '---------------
     1383TypeDef MCIERROR = DWord
     1384TypeDef MCIDEVICEID = DWord
     1385TypeDef YIELDPROC = *Function(mciId As MCIDEVICEID, dwYieldData As DWord) As DWord
     1386
    14651387' MCI Functions
    1466 
    1467 ' common flags for dwFlags parameter of MCI command messages
    1468 Const MCI_NOTIFY =                    &H00000001
    1469 Const MCI_WAIT =                      &H00000002
    1470 Const MCI_FROM =                      &H00000004
    1471 Const MCI_TO =                        &H00000008
    1472 Const MCI_TRACK =                     &H00000010
    1473 
    1474 ' flags for dwFlags parameter of MCI_OPEN command message
    1475 Const MCI_OPEN_SHAREABLE =            &H00000100
    1476 Const MCI_OPEN_ELEMENT =              &H00000200
    1477 Const MCI_OPEN_ALIAS =                &H00000400
    1478 Const MCI_OPEN_ELEMENT_ID =           &H00000800
    1479 Const MCI_OPEN_TYPE_ID =              &H00001000
    1480 Const MCI_OPEN_TYPE =                 &H00002000
    1481 Const MCI_ANIM_OPEN_WS =              &H00010000
    1482 Const MCI_ANIM_OPEN_PARENT =          &H00020000
    1483 Const MCI_ANIM_OPEN_NOSTATIC =        &H00040000
    1484 Const MCI_DGV_OPEN_WS =               &H00010000
    1485 Const MCI_DGV_OPEN_PARENT =           &H00020000
    1486 Const MCI_DGV_OPEN_NOSTATIC =         &H00040000
    1487 Const MCI_DGV_OPEN_16BIT =            &H00080000
    1488 Const MCI_DGV_OPEN_32BIT =            &H00100000
    1489 Const MCI_OVLY_OPEN_WS =              &H00010000
    1490 Const MCI_OVLY_OPEN_PARENT =          &H00020000
    1491 
    1492 ' flags for dwFlags parameter of MCI_PLAY command message
    1493 Const MCI_ANIM_PLAY_SPEED =        &H00010000
    1494 Const MCI_ANIM_PLAY_REVERSE =      &H00020000
    1495 Const MCI_ANIM_PLAY_FAST =         &H00040000
    1496 Const MCI_ANIM_PLAY_SLOW =         &H00080000
    1497 Const MCI_ANIM_PLAY_SCAN =         &H00100000
    1498 Const MCI_DGV_PLAY_REPEAT =        &H00010000
    1499 Const MCI_DGV_PLAY_REVERSE =       &H00020000
    1500 Const MCI_MCIAVI_PLAY_WINDOW =     &H01000000
    1501 Const MCI_MCIAVI_PLAY_FULLSCREEN = &H02000000
    1502 Const MCI_VCR_PLAY_REVERSE =       &H00010000
    1503 Const MCI_VCR_PLAY_AT =            &H00020000
    1504 Const MCI_VCR_PLAY_SCAN =          &H00040000
    1505 Const MCI_VD_PLAY_REVERSE =        &H00010000
    1506 Const MCI_VD_PLAY_FAST =           &H00020000
    1507 Const MCI_VD_PLAY_SPEED =          &H00040000
    1508 Const MCI_VD_PLAY_SCAN =           &H00080000
    1509 Const MCI_VD_PLAY_SLOW =           &H00100000
    1510 
    1511 ' flags for dwFlags parameter of MCI_SEEK command message
    1512 Const MCI_SEEK_TO_START =    &H00000100
    1513 Const MCI_SEEK_TO_END =      &H00000200
    1514 Const MCI_VCR_SEEK_REVERSE = &H00010000
    1515 Const MCI_VCR_SEEK_MARK =    &H00020000
    1516 Const MCI_VCR_SEEK_AT =      &H00040000
    1517 Const MCI_VD_SEEK_REVERSE =  &H00010000
    1518 
    1519 ' flags for dwFlags parameter of MCI_SET command message
    1520 Const MCI_SET_DOOR_OPEN =             &H00000100
    1521 Const MCI_SET_DOOR_CLOSED =           &H00000200
    1522 Const MCI_SET_TIME_FORMAT =           &H00000400
    1523 Const MCI_SET_AUDIO =                 &H00000800
    1524 Const MCI_SET_VIDEO =                 &H00001000
    1525 Const MCI_SET_ON =                    &H00002000
    1526 Const MCI_SET_OFF =                   &H00004000
    1527 Const MCI_DGV_SET_SEEK_EXACTLY =      &H00010000
    1528 Const MCI_DGV_SET_SPEED =             &H00020000
    1529 Const MCI_DGV_SET_STILL =             &H00040000
    1530 Const MCI_DGV_SET_FILEFORMAT =        &H00080000
    1531 Const MCI_SEQ_FORMAT_SONGPTR =        &H4001
    1532 Const     MCI_SEQ_FILE =   &H4002
    1533 Const     MCI_SEQ_MIDI =   &H4003
    1534 Const     MCI_SEQ_SMPTE =  &H4004
    1535 Const     MCI_SEQ_NONE =   65533
    1536 Const     MCI_SEQ_MAPPER = 65535
    1537 Const MCI_SEQ_SET_TEMPO =             &H00010000
    1538 Const MCI_SEQ_SET_PORT =              &H00020000
    1539 Const MCI_SEQ_SET_SLAVE =             &H00040000
    1540 Const MCI_SEQ_SET_MASTER =            &H00080000
    1541 Const MCI_SEQ_SET_OFFSET =            &H01000000
    1542 Const MCI_VCR_SET_TIME_MODE =         &H00010000
    1543 Const MCI_VCR_SET_POWER =             &H00020000
    1544 Const MCI_VCR_SET_RECORD_FORMAT =     &H00040000
    1545 Const MCI_VCR_SET_COUNTER_FORMAT =    &H00080000
    1546 Const MCI_VCR_SET_INDEX =             &H00100000
    1547 Const MCI_VCR_SET_ASSEMBLE_RECORD =   &H00200000
    1548 Const MCI_VCR_SET_TRACKING =          &H00400000
    1549 Const MCI_VCR_SET_SPEED =             &H00800000
    1550 Const MCI_VCR_SET_TAPE_LENGTH =       &H01000000
    1551 Const MCI_VCR_SET_COUNTER_VALUE =     &H02000000
    1552 Const MCI_VCR_SET_CLOCK =             &H04000000
    1553 Const MCI_VCR_SET_PAUSE_TIMEOUT =     &H08000000
    1554 Const MCI_VCR_SET_PREROLL_DURATION =  &H10000000
    1555 Const MCI_VCR_SET_POSTROLL_DURATION = &H20000000
    1556 Const MCI_VD_FORMAT_TRACK =           &H4001
    1557 Const MCI_WAVE_SET_FORMATTAG =        &H00010000
    1558 Const MCI_WAVE_SET_CHANNELS =         &H00020000
    1559 Const MCI_WAVE_SET_SAMPLESPERSEC =    &H00040000
    1560 Const MCI_WAVE_SET_AVGBYTESPERSEC =   &H00080000
    1561 Const MCI_WAVE_SET_BLOCKALIGN =       &H00100000
    1562 Const MCI_WAVE_SET_BITSPERSAMPLE =    &H00200000
    1563 Const MCI_WAVE_INPUT =                &H00400000
    1564 Const MCI_WAVE_OUTPUT =               &H00800000
    1565 Const MCI_WAVE_SET_ANYINPUT =         &H04000000
    1566 Const MCI_WAVE_SET_ANYOUTPUT =        &H08000000
    1567 
    1568 ' flags for dwFlags parameter of MCI_STATUS command message
    1569 Const MCI_STATUS_ITEM =               &H00000100
    1570 Const MCI_STATUS_START =              &H00000200
    1571 Const MCI_CDA_STATUS_TYPE_TRACK =     &H00004001
    1572 Const     MCI_CDA_TRACK_AUDIO = MCI_CD_OFFSET+0
    1573 Const     MCI_CDA_TRACK_OTHER = MCI_CD_OFFSET+1
    1574 Const MCI_DGV_STATUS_NOMINAL =        &H00020000
    1575 Const MCI_DGV_STATUS_REFERENCE =      &H00040000
    1576 Const MCI_DGV_STATUS_LEFT =           &H00080000
    1577 Const MCI_DGV_STATUS_RIGHT =          &H00100000
    1578 Const MCI_DGV_STATUS_DISKSPACE =      &H00200000
    1579 Const MCI_DGV_STATUS_INPUT =          &H00400000
    1580 Const MCI_DGV_STATUS_OUTPUT =         &H00800000
    1581 Const MCI_DGV_STATUS_RECORD =         &H01000000
     1388Declare Function mciSendCommand Lib "winmm" Alias "mciSendCommandA" (mciId As MCIDEVICEID, uMsg As DWord, dwParam1 As DWord, ByRef dwParam2 As Any) As MCIERROR
     1389Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" (lpstrCommand As LPSTR, lpstrReturnString As LPSTR, uReturnLength As DWord, hwndCallback As HWND) As MCIERROR
     1390Declare Function mciGetDeviceID Lib "winmm" Alias "mciGetDeviceIDA" (pszDevice As LPSTR) As MCIDEVICEID
     1391
     1392Declare Function mciGetErrorString Lib "winmm" Alias "mciGetErrorStringA" (mcierr As MCIERROR, pszText As LPSTR, cchText As DWord) As BOOL
     1393Declare Function mciSetYieldProc Lib "winmm" (mciId As MCIDEVICEID, fpYieldProc As YIELDPROC, dwYieldData As DWord) As BOOL
     1394Declare Function mciGetCreatorTask Lib "winmm" (mciId As MCIDEVICEID) As HTASK
     1395Declare Function mciGetYieldProc Lib "winmm" (mciId As MCIDEVICEID, pdwYieldData As *DWord) As YIELDPROC
     1396Declare Function mciExecute Lib "winmm" (pszCommand As LPSTR) As BOOL
     1397
     1398Const MCIERR_INVALID_DEVICE_ID = (MCIERR_BASE + 1)
     1399Const MCIERR_UNRECOGNIZED_KEYWORD = (MCIERR_BASE + 3)
     1400Const MCIERR_UNRECOGNIZED_COMMAND = (MCIERR_BASE + 5)
     1401Const MCIERR_HARDWARE = (MCIERR_BASE + 6)
     1402Const MCIERR_INVALID_DEVICE_NAME = (MCIERR_BASE + 7)
     1403Const MCIERR_OUT_OF_MEMORY = (MCIERR_BASE + 8)
     1404Const MCIERR_DEVICE_OPEN = (MCIERR_BASE + 9)
     1405Const MCIERR_CANNOT_LOAD_DRIVER = (MCIERR_BASE + 10)
     1406Const MCIERR_MISSING_COMMAND_STRING = (MCIERR_BASE + 11)
     1407Const MCIERR_PARAM_OVERFLOW = (MCIERR_BASE + 12)
     1408Const MCIERR_MISSING_STRING_ARGUMENT = (MCIERR_BASE + 13)
     1409Const MCIERR_BAD_INTEGER = (MCIERR_BASE + 14)
     1410Const MCIERR_PARSER_INTERNAL = (MCIERR_BASE + 15)
     1411Const MCIERR_DRIVER_INTERNAL = (MCIERR_BASE + 16)
     1412Const MCIERR_MISSING_PARAMETER = (MCIERR_BASE + 17)
     1413Const MCIERR_UNSUPPORTED_FUNCTION = (MCIERR_BASE + 18)
     1414Const MCIERR_FILE_NOT_FOUND = (MCIERR_BASE + 19)
     1415Const MCIERR_DEVICE_NOT_READY = (MCIERR_BASE + 20)
     1416Const MCIERR_INTERNAL = (MCIERR_BASE + 21)
     1417Const MCIERR_DRIVER = (MCIERR_BASE + 22)
     1418Const MCIERR_CANNOT_USE_ALL = (MCIERR_BASE + 23)
     1419Const MCIERR_MULTIPLE = (MCIERR_BASE + 24)
     1420Const MCIERR_EXTENSION_NOT_FOUND = (MCIERR_BASE + 25)
     1421Const MCIERR_OUTOFRANGE = (MCIERR_BASE + 26)
     1422Const MCIERR_FLAGS_NOT_COMPATIBLE = (MCIERR_BASE + 28)
     1423Const MCIERR_FILE_NOT_SAVED = (MCIERR_BASE + 30)
     1424Const MCIERR_DEVICE_TYPE_REQUIRED = (MCIERR_BASE + 31)
     1425Const MCIERR_DEVICE_LOCKED = (MCIERR_BASE + 32)
     1426Const MCIERR_DUPLICATE_ALIAS = (MCIERR_BASE + 33)
     1427Const MCIERR_BAD_CONSTANT = (MCIERR_BASE + 34)
     1428Const MCIERR_MUST_USE_SHAREABLE = (MCIERR_BASE + 35)
     1429Const MCIERR_MISSING_DEVICE_NAME = (MCIERR_BASE + 36)
     1430Const MCIERR_BAD_TIME_FORMAT = (MCIERR_BASE + 37)
     1431Const MCIERR_NO_CLOSING_QUOTE = (MCIERR_BASE + 38)
     1432Const MCIERR_DUPLICATE_FLAGS = (MCIERR_BASE + 39)
     1433Const MCIERR_INVALID_FILE = (MCIERR_BASE + 40)
     1434Const MCIERR_NULL_PARAMETER_BLOCK = (MCIERR_BASE + 41)
     1435Const MCIERR_UNNAMED_RESOURCE = (MCIERR_BASE + 42)
     1436Const MCIERR_NEW_REQUIRES_ALIAS = (MCIERR_BASE + 43)
     1437Const MCIERR_NOTIFY_ON_AUTO_OPEN = (MCIERR_BASE + 44)
     1438Const MCIERR_NO_ELEMENT_ALLOWED = (MCIERR_BASE + 45)
     1439Const MCIERR_NONAPPLICABLE_FUNCTION = (MCIERR_BASE + 46)
     1440Const MCIERR_ILLEGAL_FOR_AUTO_OPEN = (MCIERR_BASE + 47)
     1441Const MCIERR_FILENAME_REQUIRED = (MCIERR_BASE + 48)
     1442Const MCIERR_EXTRA_CHARACTERS = (MCIERR_BASE + 49)
     1443Const MCIERR_DEVICE_NOT_INSTALLED = (MCIERR_BASE + 50)
     1444Const MCIERR_GET_CD = (MCIERR_BASE + 51)
     1445Const MCIERR_SET_CD = (MCIERR_BASE + 52)
     1446Const MCIERR_SET_DRIVE = (MCIERR_BASE + 53)
     1447Const MCIERR_DEVICE_LENGTH = (MCIERR_BASE + 54)
     1448Const MCIERR_DEVICE_ORD_LENGTH = (MCIERR_BASE + 55)
     1449Const MCIERR_NO_INTEGER = (MCIERR_BASE + 56)
     1450
     1451Const MCIERR_WAVE_OUTPUTSINUSE = (MCIERR_BASE + 64)
     1452Const MCIERR_WAVE_SETOUTPUTINUSE = (MCIERR_BASE + 65)
     1453Const MCIERR_WAVE_INPUTSINUSE = (MCIERR_BASE + 66)
     1454Const MCIERR_WAVE_SETINPUTINUSE = (MCIERR_BASE + 67)
     1455Const MCIERR_WAVE_OUTPUTUNSPECIFIED = (MCIERR_BASE + 68)
     1456Const MCIERR_WAVE_INPUTUNSPECIFIED = (MCIERR_BASE + 69)
     1457Const MCIERR_WAVE_OUTPUTSUNSUITABLE = (MCIERR_BASE + 70)
     1458Const MCIERR_WAVE_SETOUTPUTUNSUITABLE = (MCIERR_BASE + 71)
     1459Const MCIERR_WAVE_INPUTSUNSUITABLE = (MCIERR_BASE + 72)
     1460Const MCIERR_WAVE_SETINPUTUNSUITABLE = (MCIERR_BASE + 73)
     1461
     1462Const MCIERR_SEQ_DIV_INCOMPATIBLE = (MCIERR_BASE + 80)
     1463Const MCIERR_SEQ_PORT_INUSE = (MCIERR_BASE + 81)
     1464Const MCIERR_SEQ_PORT_NONEXISTENT = (MCIERR_BASE + 82)
     1465Const MCIERR_SEQ_PORT_MAPNODEVICE = (MCIERR_BASE + 83)
     1466Const MCIERR_SEQ_PORT_MISCERROR = (MCIERR_BASE + 84)
     1467Const MCIERR_SEQ_TIMER = (MCIERR_BASE + 85)
     1468Const MCIERR_SEQ_PORTUNSPECIFIED = (MCIERR_BASE + 86)
     1469Const MCIERR_SEQ_NOMIDIPRESENT = (MCIERR_BASE + 87)
     1470
     1471Const MCIERR_NO_WINDOW = (MCIERR_BASE + 90)
     1472Const MCIERR_CREATEWINDOW = (MCIERR_BASE + 91)
     1473Const MCIERR_FILE_READ = (MCIERR_BASE + 92)
     1474Const MCIERR_FILE_WRITE = (MCIERR_BASE + 93)
     1475Const MCIERR_NO_IDENTITY = (MCIERR_BASE + 94)
     1476Const MCIERR_CUSTOM_DRIVER_BASE = (MCIERR_BASE + 256)
     1477
     1478Const MCI_FIRST = DRV_MCI_FIRST
     1479Const MCI_OPEN = &H0803
     1480Const MCI_CLOSE = &H0804
     1481Const MCI_ESCAPE = &H0805
     1482Const MCI_PLAY = &H0806
     1483Const MCI_SEEK = &H0807
     1484Const MCI_STOP = &H0808
     1485Const MCI_PAUSE = &H0809
     1486Const MCI_INFO = &H080A
     1487Const MCI_GETDEVCAPS = &H080B
     1488Const MCI_SPIN = &H080C
     1489Const MCI_SET = &H080D
     1490Const MCI_STEP = &H080E
     1491Const MCI_RECORD = &H080F
     1492Const MCI_SYSINFO = &H0810
     1493Const MCI_BREAK = &H0811
     1494Const MCI_SAVE = &H0813
     1495Const MCI_STATUS = &H0814
     1496Const MCI_CUE = &H0830
     1497Const MCI_REALIZE = &H0840
     1498Const MCI_WINDOW = &H0841
     1499Const MCI_PUT = &H0842
     1500Const MCI_WHERE = &H0843
     1501Const MCI_FREEZE = &H0844
     1502Const MCI_UNFREEZE = &H0845
     1503Const MCI_LOAD = &H0850
     1504Const MCI_CUT = &H0851
     1505Const MCI_COPY = &H0852
     1506Const MCI_PASTE = &H0853
     1507Const MCI_UPDATE = &H0854
     1508Const MCI_RESUME = &H0855
     1509Const MCI_DELETE = &H0856
     1510
     1511Const MCI_USER_MESSAGES = (DRV_MCI_FIRST + &H400)
     1512Const MCI_LAST = &H0FFF
     1513
     1514Const MCI_ALL_DEVICE_ID = (-1)
    15821515
    15831516' constants for predefined MCI device types
     
    15931526Const MCI_DEVTYPE_WAVEFORM_AUDIO =    522
    15941527Const MCI_DEVTYPE_SEQUENCER =         523
     1528Const MCI_DEVTYPE_FIRST =             MCI_DEVTYPE_VCR
     1529Const MCI_DEVTYPE_LAST =              MCI_DEVTYPE_SEQUENCER
     1530Const MCI_DEVTYPE_FIRST_USER =        &H1000
    15951531
    15961532' return values for 'status mode' command
     
    16031539Const MCI_MODE_OPEN =                 MCI_STRING_OFFSET + 18
    16041540
    1605 Const MCI_OPEN =                      &H0803
    1606 Const MCI_CLOSE =                     &H0804
    1607 Const MCI_ESCAPE =                    &H0805
    1608 Const MCI_PLAY =                      &H0806
    1609 Const MCI_SEEK =                      &H0807
    1610 Const MCI_STOP =                      &H0808
    1611 Const MCI_PAUSE =                     &H0809
    1612 Const MCI_INFO =                      &H080A
    1613 Const MCI_GETDEVCAPS =                &H080B
    1614 Const MCI_SPIN =                      &H080C
    1615 Const MCI_SET =                       &H080D
    1616 Const MCI_STEP =                      &H080E
    1617 Const MCI_RECORD =                    &H080F
    1618 Const MCI_SYSINFO =                   &H0810
    1619 Const MCI_BREAK =                     &H0811
    1620 Const MCI_SAVE =                      &H0813
    1621 Const MCI_STATUS =                    &H0814
    1622 Const MCI_CUE =                       &H0830
    1623 Const MCI_REALIZE =                   &H0840
    1624 Const MCI_WINDOW =                    &H0841
    1625 Const MCI_PUT =                       &H0842
    1626 Const MCI_WHERE =                     &H0843
    1627 Const MCI_FREEZE =                    &H0844
    1628 Const MCI_UNFREEZE =                  &H0845
    1629 Const MCI_LOAD =                      &H0850
    1630 Const MCI_CUT =                       &H0851
    1631 Const MCI_COPY =                      &H0852
    1632 Const MCI_PASTE =                     &H0853
    1633 Const MCI_UPDATE =                    &H0854
    1634 Const MCI_RESUME =                    &H0855
    1635 Const MCI_DELETE =                    &H0856
    1636 Declare Function mciSendCommand Lib "winmm" Alias "mciSendCommandA" (dwMciID As DWord, uMsg As DWord, fdwCommand As DWord, ByRef lpParam As Any) As DWord
    1637 
    1638 Const MCIERR_INVALID_DEVICE_ID =       MCIERR_BASE + 1
    1639 Const MCIERR_UNRECOGNIZED_KEYWORD =    MCIERR_BASE + 3
    1640 Const MCIERR_UNRECOGNIZED_COMMAND =    MCIERR_BASE + 5
    1641 Const MCIERR_HARDWARE =                MCIERR_BASE + 6
    1642 Const MCIERR_INVALID_DEVICE_NAME =     MCIERR_BASE + 7
    1643 Const MCIERR_OUT_OF_MEMORY =           MCIERR_BASE + 8
    1644 Const MCIERR_DEVICE_OPEN =             MCIERR_BASE + 9
    1645 Const MCIERR_CANNOT_LOAD_DRIVER =      MCIERR_BASE + 10
    1646 Const MCIERR_MISSING_COMMAND_STRING =  MCIERR_BASE + 11
    1647 Const MCIERR_PARAM_OVERFLOW =          MCIERR_BASE + 12
    1648 Const MCIERR_MISSING_STRING_ARGUMENT = MCIERR_BASE + 13
    1649 Const MCIERR_BAD_INTEGER =             MCIERR_BASE + 14
    1650 Const MCIERR_PARSER_INTERNAL =         MCIERR_BASE + 15
    1651 Const MCIERR_DRIVER_INTERNAL =         MCIERR_BASE + 16
    1652 Const MCIERR_MISSING_PARAMETER =       MCIERR_BASE + 17
    1653 Const MCIERR_UNSUPPORTED_FUNCTION =    MCIERR_BASE + 18
    1654 Const MCIERR_FILE_NOT_FOUND =          MCIERR_BASE + 19
    1655 Const MCIERR_DEVICE_NOT_READY =        MCIERR_BASE + 20
    1656 Const MCIERR_INTERNAL =                MCIERR_BASE + 21
    1657 Const MCIERR_DRIVER =                  MCIERR_BASE + 22
    1658 Const MCIERR_CANNOT_USE_ALL =          MCIERR_BASE + 23
    1659 Const MCIERR_MULTIPLE =                MCIERR_BASE + 24
    1660 Const MCIERR_EXTENSION_NOT_FOUND =     MCIERR_BASE + 25
    1661 Const MCIERR_OUTOFRANGE =              MCIERR_BASE + 26
    1662 Const MCIERR_FLAGS_NOT_COMPATIBLE =    MCIERR_BASE + 28
    1663 Const MCIERR_FILE_NOT_SAVED =          MCIERR_BASE + 30
    1664 Const MCIERR_DEVICE_TYPE_REQUIRED =    MCIERR_BASE + 31
    1665 Const MCIERR_DEVICE_LOCKED =           MCIERR_BASE + 32
    1666 Const MCIERR_DUPLICATE_ALIAS =         MCIERR_BASE + 33
    1667 Const MCIERR_BAD_CONSTANT =            MCIERR_BASE + 34
    1668 Const MCIERR_MUST_USE_SHAREABLE =      MCIERR_BASE + 35
    1669 Const MCIERR_MISSING_DEVICE_NAME =     MCIERR_BASE + 36
    1670 Const MCIERR_BAD_TIME_FORMAT =         MCIERR_BASE + 37
    1671 Const MCIERR_NO_CLOSING_QUOTE =        MCIERR_BASE + 38
    1672 Const MCIERR_DUPLICATE_FLAGS =         MCIERR_BASE + 39
    1673 Const MCIERR_INVALID_FILE =            MCIERR_BASE + 40
    1674 Const MCIERR_NULL_PARAMETER_BLOCK =    MCIERR_BASE + 41
    1675 Const MCIERR_UNNAMED_RESOURCE =        MCIERR_BASE + 42
    1676 Const MCIERR_NEW_REQUIRES_ALIAS =      MCIERR_BASE + 43
    1677 Const MCIERR_NOTIFY_ON_AUTO_OPEN =     MCIERR_BASE + 44
    1678 Const MCIERR_NO_ELEMENT_ALLOWED =      MCIERR_BASE + 45
    1679 Const MCIERR_NONAPPLICABLE_FUNCTION =  MCIERR_BASE + 46
    1680 Const MCIERR_ILLEGAL_FOR_AUTO_OPEN =   MCIERR_BASE + 47
    1681 Const MCIERR_FILENAME_REQUIRED =       MCIERR_BASE + 48
    1682 Const MCIERR_EXTRA_CHARACTERS =        MCIERR_BASE + 49
    1683 Const MCIERR_DEVICE_NOT_INSTALLED =    MCIERR_BASE + 50
    1684 Const MCIERR_GET_CD =                  MCIERR_BASE + 51
    1685 Const MCIERR_SET_CD =                  MCIERR_BASE + 52
    1686 Const MCIERR_SET_DRIVE =               MCIERR_BASE + 53
    1687 Const MCIERR_DEVICE_LENGTH =           MCIERR_BASE + 54
    1688 Const MCIERR_DEVICE_ORD_LENGTH =       MCIERR_BASE + 55
    1689 Const MCIERR_NO_INTEGER =              MCIERR_BASE + 56
    1690 Const MCIERR_WAVE_OUTPUTSINUSE =       MCIERR_BASE + 64
    1691 Const MCIERR_WAVE_SETOUTPUTINUSE =     MCIERR_BASE + 65
    1692 Const MCIERR_WAVE_INPUTSINUSE =        MCIERR_BASE + 66
    1693 Const MCIERR_WAVE_SETINPUTINUSE =      MCIERR_BASE + 67
    1694 Const MCIERR_WAVE_OUTPUTUNSPECIFIED =  MCIERR_BASE + 68
    1695 Const MCIERR_WAVE_INPUTUNSPECIFIED =   MCIERR_BASE + 69
    1696 Const MCIERR_WAVE_OUTPUTSUNSUITABLE =  MCIERR_BASE + 70
    1697 Const MCIERR_WAVE_SETOUTPUTUNSUITABLE = MCIERR_BASE + 71
    1698 Const MCIERR_WAVE_INPUTSUNSUITABLE =   MCIERR_BASE + 72
    1699 Const MCIERR_WAVE_SETINPUTUNSUITABLE = MCIERR_BASE + 73
    1700 Const MCIERR_SEQ_DIV_INCOMPATIBLE =    MCIERR_BASE + 80
    1701 Const MCIERR_SEQ_PORT_INUSE =          MCIERR_BASE + 81
    1702 Const MCIERR_SEQ_PORT_NONEXISTENT =    MCIERR_BASE + 82
    1703 Const MCIERR_SEQ_PORT_MAPNODEVICE =    MCIERR_BASE + 83
    1704 Const MCIERR_SEQ_PORT_MISCERROR =      MCIERR_BASE + 84
    1705 Const MCIERR_SEQ_TIMER =               MCIERR_BASE + 85
    1706 Const MCIERR_SEQ_PORTUNSPECIFIED =     MCIERR_BASE + 86
    1707 Const MCIERR_SEQ_NOMIDIPRESENT =       MCIERR_BASE + 87
    1708 Const MCIERR_NO_WINDOW =               MCIERR_BASE + 90
    1709 Const MCIERR_CREATEWINDOW =            MCIERR_BASE + 91
    1710 Const MCIERR_FILE_READ =               MCIERR_BASE + 92
    1711 Const MCIERR_FILE_WRITE =              MCIERR_BASE + 93
    1712 Const MCIERR_NO_IDENTITY =             MCIERR_BASE + 94
    1713 Const MCIERR_CUSTOM_DRIVER_BASE =      MCIERR_BASE + 256
    1714 Declare Function mciGetErrorString Lib "winmm" Alias "mciGetErrorStringA" (mcierr As DWord, pszText As PSTR, cchText As Long) As BOOL
    1715 
     1541'--------------------------------------------------------
     1542' Time Format(used in MCI_SET_PARAMS, MCI_STATUS_PARAMS)
     1543
     1544Const MCI_FORMAT_MILLISECONDS =       0
     1545Const MCI_FORMAT_HMS =                1
     1546Const MCI_FORMAT_MSF =                2
     1547Const MCI_FORMAT_FRAMES =             3
     1548Const MCI_FORMAT_SMPTE_24 =           4
     1549Const MCI_FORMAT_SMPTE_25 =           5
     1550Const MCI_FORMAT_SMPTE_30 =           6
     1551Const MCI_FORMAT_SMPTE_30DROP =       7
     1552Const MCI_FORMAT_BYTES =              8
     1553Const MCI_FORMAT_SAMPLES =            9
     1554Const MCI_FORMAT_TMSF =               10
     1555
     1556'------------
     1557' MCI Macros
     1558
     1559'MSF
     1560Function MCI_MSF_MINUTE(msf As DWord) As Byte
     1561    Return (&HFF AND msf)
     1562End Function
     1563Function MCI_MSF_SECOND(msf As DWord) As Byte
     1564    Return (&HFF AND (msf>> 8))
     1565End Function
     1566Function MCI_MSF_FRAME(msf As DWord) As Byte
     1567    Return (&HFF AND (msf>>16))
     1568End Function
     1569Function MCI_MAKE_MSF(minutes As Byte, seconds As Byte, frames As Byte) As DWord
     1570    Return MAKELONG(minutes,MAKEWORD(seconds,frames))
     1571End Function
     1572
     1573'TMSF
     1574Function MCI_TMSF_TRACK(tmsf As DWord) As Byte
     1575    Return (&HFF AND (tmsf))
     1576End Function
     1577Function MCI_TMSF_MINUTE(tmsf As DWord) As Byte
     1578    Return (&HFF AND (((tmsf)) >> 8))
     1579End Function
     1580Function MCI_TMSF_SECOND(tmsf As DWord) As Byte
     1581    Return (&HFF AND ((tmsf)>>16))
     1582End Function
     1583Function MCI_TMSF_FRAME(tmsf As DWord) As Byte
     1584    Return (&HFF AND ((tmsf)>>24))
     1585End Function
     1586Function MCI_MAKE_TMSF(tracks As Byte, minutes As Byte, seconds As Byte, frames As Byte) As DWord
     1587    Return MAKELONG(MAKEWORD(tracks,minutes),MAKEWORD(seconds,frames))
     1588End Function
     1589
     1590'HMS
     1591Function MCI_HMS_HOUR(hms As DWord) As Byte
     1592    Return (&HFF AND (hms))
     1593End Function
     1594Function MCI_HMS_MINUTE(hms As DWord) As Byte
     1595    Return (&HFF AND ((hms)>> 8))
     1596End Function
     1597Function MCI_HMS_SECOND(hms As DWord) As Byte
     1598    Return (&HFF AND ((hms)>>16))
     1599End Function
     1600Function MCI_MAKE_HMS(hours As Byte, minutes As Byte, seconds As Byte) As DWord
     1601    Return MAKELONG(hours,MAKEWORD(minutes,seconds))
     1602End Function
     1603
     1604' flags for wParam of MM_MCINOTIFY message
     1605Const MCI_NOTIFY_SUCCESSFUL = &H0001
     1606Const MCI_NOTIFY_SUPERSEDED = &H0002
     1607Const MCI_NOTIFY_ABORTED = &H0004
     1608Const MCI_NOTIFY_FAILURE = &H0008
     1609
     1610' common flags for dwFlags parameter of MCI command messages
     1611Const MCI_NOTIFY =                    &H00000001
     1612Const MCI_WAIT =                      &H00000002
     1613Const MCI_FROM =                      &H00000004
     1614Const MCI_TO =                        &H00000008
     1615Const MCI_TRACK =                     &H00000010
     1616
     1617' flags for dwFlags parameter of MCI_OPEN command message
     1618Const MCI_OPEN_SHAREABLE =            &H00000100
     1619Const MCI_OPEN_ELEMENT =              &H00000200
     1620Const MCI_OPEN_ALIAS =                &H00000400
     1621Const MCI_OPEN_ELEMENT_ID =           &H00000800
     1622Const MCI_OPEN_TYPE_ID =              &H00001000
     1623Const MCI_OPEN_TYPE =                 &H00002000
     1624
     1625' flags for dwFlags parameter of MCI_SEEK command message
     1626Const MCI_SEEK_TO_START = &H00000100
     1627Const MCI_SEEK_TO_END = &H00000200
     1628
     1629' flags for dwFlags parameter of MCI_STATUS command message
     1630Const MCI_STATUS_ITEM = &H00000100
     1631Const MCI_STATUS_START = &H00000200
     1632
     1633' flags for dwItem field of the MCI_STATUS_PARMS parameter block
     1634Const MCI_STATUS_LENGTH = &H00000001
     1635Const MCI_STATUS_POSITION = &H00000002
     1636Const MCI_STATUS_NUMBER_OF_TRACKS = &H00000003
     1637Const MCI_STATUS_MODE = &H00000004
     1638Const MCI_STATUS_MEDIA_PRESENT = &H00000005
     1639Const MCI_STATUS_TIME_FORMAT = &H00000006
     1640Const MCI_STATUS_READY = &H00000007
     1641Const MCI_STATUS_CURRENT_TRACK = &H00000008
     1642
     1643' flags for dwFlags parameter of MCI_INFO command message
     1644Const MCI_INFO_PRODUCT = &H00000100
     1645Const MCI_INFO_FILE = &H00000200
     1646Const MCI_INFO_MEDIA_UPC = &H00000400
     1647Const MCI_INFO_MEDIA_IDENTITY = &H00000800
     1648Const MCI_INFO_NAME = &H00001000
     1649Const MCI_INFO_COPYRIGHT = &H00002000
     1650
     1651' flags for dwFlags parameter of MCI_GETDEVCAPS command message
     1652Const MCI_GETDEVCAPS_ITEM = &H00000100
     1653
     1654' flags for dwItem field of the MCI_GETDEVCAPS_PARMS parameter block
     1655Const MCI_GETDEVCAPS_CAN_RECORD = &H00000001
     1656Const MCI_GETDEVCAPS_HAS_AUDIO = &H00000002
     1657Const MCI_GETDEVCAPS_HAS_VIDEO = &H00000003
     1658Const MCI_GETDEVCAPS_DEVICE_TYPE = &H00000004
     1659Const MCI_GETDEVCAPS_USES_FILES = &H00000005
     1660Const MCI_GETDEVCAPS_COMPOUND_DEVICE = &H00000006
     1661Const MCI_GETDEVCAPS_CAN_EJECT = &H00000007
     1662Const MCI_GETDEVCAPS_CAN_PLAY = &H00000008
     1663Const MCI_GETDEVCAPS_CAN_SAVE = &H00000009
     1664
     1665' flags for dwFlags parameter of MCI_SYSINFO command message
     1666Const MCI_SYSINFO_QUANTITY = &H00000100
     1667Const MCI_SYSINFO_OPEN = &H00000200
     1668Const MCI_SYSINFO_NAME = &H00000400
     1669Const MCI_SYSINFO_INSTALLNAME = &H00000800
     1670
     1671' flags for dwFlags parameter of MCI_SET command message
     1672Const MCI_SET_DOOR_OPEN = &H00000100
     1673Const MCI_SET_DOOR_CLOSED = &H00000200
     1674Const MCI_SET_TIME_FORMAT = &H00000400
     1675Const MCI_SET_AUDIO = &H00000800
     1676Const MCI_SET_VIDEO = &H00001000
     1677Const MCI_SET_ON = &H00002000
     1678Const MCI_SET_OFF = &H00004000
     1679
     1680' flags for dwAudio field of MCI_SET_PARMS or MCI_SEQ_SET_PARMS
     1681Const MCI_SET_AUDIO_ALL = &H00000000
     1682Const MCI_SET_AUDIO_LEFT = &H00000001
     1683Const MCI_SET_AUDIO_RIGHT = &H00000002
     1684
     1685' flags for dwFlags parameter of MCI_BREAK command message
     1686Const MCI_BREAK_KEY = &H00000100
     1687Const MCI_BREAK_HWND = &H00000200
     1688Const MCI_BREAK_OFF = &H00000400
     1689
     1690' flags for dwFlags parameter of MCI_RECORD command message
     1691Const MCI_RECORD_INSERT = &H00000100
     1692Const MCI_RECORD_OVERWRITE = &H00000200
     1693
     1694' flags for dwFlags parameter of MCI_SAVE command message
     1695Const MCI_SAVE_FILE = &H00000100
     1696
     1697' flags for dwFlags parameter of MCI_LOAD command message
     1698Const MCI_LOAD_FILE = &H00000100
     1699
     1700Type MCI_GENERIC_PARMS
     1701    dwCallback As DWord
     1702End Type
     1703TypeDef PMCI_GENERIC_PARMS = *MCI_GENERIC_PARMS
     1704TypeDef LPMCI_GENERIC_PARMS = *MCI_GENERIC_PARMS
     1705
     1706Type MCI_OPEN_PARMS
     1707    dwCallback As DWord
     1708    wDeviceID As DWord
     1709    lpstrDeviceType As LPSTR
     1710    lpstrElementName As LPSTR
     1711    lpstrAlias As LPSTR
     1712End Type
     1713TypeDef PMCI_OPEN_PARMS = *MCI_OPEN_PARMS
     1714TypeDef LPMCI_OPEN_PARMS = *MCI_OPEN_PARMS
     1715
     1716Type MCI_PLAY_PARMS
     1717    dwCallback As DWord
     1718    dwFrom As DWord
     1719    dwTo As DWord
     1720End Type
     1721TypeDef PMCI_PLAY_PARMS = *MCI_PLAY_PARMS
     1722TypeDef LPMCI_PLAY_PARMS = *MCI_PLAY_PARMS
     1723
     1724Type MCI_SEEK_PARMS
     1725    dwCallback As DWord
     1726    dwTo As DWord
     1727End Type
     1728TypeDef PMCI_SEEK_PARMS = *MCI_SEEK_PARMS
     1729TypeDef LPMCI_SEEK_PARMS = *MCI_SEEK_PARMS
     1730
     1731Type MCI_STATUS_PARMS
     1732    dwCallback As DWord
     1733    dwReturn As DWord
     1734    dwItem As DWord
     1735    dwTrack As DWord
     1736End Type
     1737TypeDef PMCI_STATUS_PARMS = *MCI_STATUS_PARMS
     1738TypeDef LPMCI_STATUS_PARMS = *MCI_STATUS_PARMS
     1739
     1740Type MCI_INFO_PARMSA
     1741    dwCallback As DWord
     1742    lpstrReturn As LPSTR
     1743    dwRetSize As DWord
     1744End Type
     1745TypeDef PMCI_INFO_PARMSA = *MCI_INFO_PARMSA
     1746TypeDef LPMCI_INFO_PARMSA = *MCI_INFO_PARMSA
     1747TypeDef MCI_INFO_PARMS = MCI_INFO_PARMSA
     1748TypeDef PMCI_INFO_PARMS = PMCI_INFO_PARMSA
     1749TypeDef LPMCI_INFO_PARMS = LPMCI_INFO_PARMSA
     1750
     1751Type MCI_GETDEVCAPS_PARMS
     1752    dwCallback As DWord
     1753    dwReturn As DWord
     1754    dwItem As DWord
     1755End Type
     1756TypeDef PMCI_GETDEVCAPS_PARMS = *MCI_GETDEVCAPS_PARMS
     1757TypeDef LPMCI_GETDEVCAPS_PARMS = *MCI_GETDEVCAPS_PARMS
     1758
     1759Type MCI_SYSINFO_PARMSA
     1760    dwCallback As DWord
     1761    lpstrReturn As LPSTR
     1762    dwRetSize As DWord
     1763    dwNumber As DWord
     1764    wDeviceType As DWord
     1765End Type
     1766TypeDef PMCI_SYSINFO_PARMSA = *MCI_SYSINFO_PARMSA
     1767TypeDef LPMCI_SYSINFO_PARMSA = *MCI_SYSINFO_PARMSA
     1768TypeDef MCI_SYSINFO_PARMS = MCI_SYSINFO_PARMSA
     1769TypeDef PMCI_SYSINFO_PARMS = PMCI_SYSINFO_PARMSA
     1770TypeDef LPMCI_SYSINFO_PARMS = LPMCI_SYSINFO_PARMSA
     1771
     1772Type MCI_SET_PARMS
     1773    dwCallback As DWord
     1774    dwTimeFormat As DWord
     1775    dwAudio As DWord
     1776End Type
     1777TypeDef PMCI_SET_PARMS = *MCI_SET_PARMS
     1778TypeDef LPMCI_SET_PARMS = *MCI_SET_PARMS
     1779
     1780Type MCI_BREAK_PARMS
     1781    dwCallback As DWord
     1782    nVirtKey As Long
     1783    hwndBreak As HWND
     1784End Type
     1785TypeDef PMCI_BREAK_PARMS = *MCI_BREAK_PARMS
     1786TypeDef LPMCI_BREAK_PARMS = *MCI_BREAK_PARMS
     1787
     1788Type MCI_SAVE_PARMSA
     1789    dwCallback As DWord
     1790    lpfilename As LPSTR
     1791End Type
     1792TypeDef PMCI_SAVE_PARMSA = *MCI_SAVE_PARMSA
     1793TypeDef LPMCI_SAVE_PARMSA = *MCI_SAVE_PARMSA
     1794TypeDef MCI_SAVE_PARMS = MCI_SAVE_PARMSA
     1795TypeDef PMCI_SAVE_PARMS = PMCI_SAVE_PARMSA
     1796TypeDef LPMCI_SAVE_PARMS = LPMCI_SAVE_PARMSA
     1797
     1798Type MCI_LOAD_PARMSA
     1799    dwCallback As DWord
     1800    lpfilename As LPSTR
     1801End Type
     1802TypeDef PMCI_LOAD_PARMSA = *MCI_LOAD_PARMSA
     1803TypeDef LPMCI_LOAD_PARMSA = *MCI_LOAD_PARMSA
     1804TypeDef MCI_LOAD_PARMS = MCI_LOAD_PARMSA
     1805TypeDef PMCI_LOAD_PARMS = PMCI_LOAD_PARMSA
     1806TypeDef LPMCI_LOAD_PARMS = LPMCI_LOAD_PARMSA
     1807
     1808Type MCI_RECORD_PARMS
     1809    dwCallback As DWord
     1810    dwFrom As DWord
     1811    dwTo As DWord
     1812End Type
     1813TypeDef PMCI_RECORD_PARMS = *MCI_RECORD_PARMS
     1814TypeDef LPMCI_RECORD_PARMS = *MCI_RECORD_PARMS
     1815
     1816' MCI extensions for videodisc devices
     1817Const MCI_VD_MODE_PARK =              (MCI_VD_OFFSET + 1)
     1818Const MCI_VD_MEDIA_CLV =              (MCI_VD_OFFSET + 2)
     1819Const MCI_VD_MEDIA_CAV =              (MCI_VD_OFFSET + 3)
     1820Const MCI_VD_MEDIA_OTHER =            (MCI_VD_OFFSET + 4)
     1821Const MCI_VD_FORMAT_TRACK =           &H4001
     1822Const MCI_VD_PLAY_REVERSE =           &H00010000
     1823Const MCI_VD_PLAY_FAST =              &H00020000
     1824Const MCI_VD_PLAY_SPEED =             &H00040000
     1825Const MCI_VD_PLAY_SCAN =              &H00080000
     1826Const MCI_VD_PLAY_SLOW =              &H00100000
     1827Const MCI_VD_SEEK_REVERSE =           &H00010000
     1828Const MCI_VD_STATUS_SPEED =           &H00004002
     1829Const MCI_VD_STATUS_FORWARD =         &H00004003
     1830Const MCI_VD_STATUS_MEDIA_TYPE =      &H00004004
     1831Const MCI_VD_STATUS_SIDE =            &H00004005
     1832Const MCI_VD_STATUS_DISC_SIZE =       &H00004006
     1833Const MCI_VD_GETDEVCAPS_CLV =         &H00010000
     1834Const MCI_VD_GETDEVCAPS_CAV =         &H00020000
     1835Const MCI_VD_SPIN_UP =                &H00010000
     1836Const MCI_VD_SPIN_DOWN =              &H00020000
     1837Const MCI_VD_GETDEVCAPS_CAN_REVERSE = &H00004002
     1838Const MCI_VD_GETDEVCAPS_FAST_RATE =   &H00004003
     1839Const MCI_VD_GETDEVCAPS_SLOW_RATE =   &H00004004
     1840Const MCI_VD_GETDEVCAPS_NORMAL_RATE = &H00004005
     1841Const MCI_VD_STEP_FRAMES =            &H00010000
     1842Const MCI_VD_STEP_REVERSE =           &H00020000
     1843Const MCI_VD_ESCAPE_STRING =          &H00000100
     1844
     1845Type MCI_VD_PLAY_PARMS
     1846    dwCallback As DWord
     1847    dwFrom As DWord
     1848    dwTo As DWord
     1849    dwSpeed As DWord
     1850End Type
     1851TypeDef PMCI_VD_PLAY_PARMS = *MCI_VD_PLAY_PARMS
     1852TypeDef LPMCI_VD_PLAY_PARMS = *MCI_VD_PLAY_PARMS
     1853
     1854Type MCI_VD_STEP_PARMS
     1855    dwCallback As DWord
     1856    dwFrames As DWord
     1857End Type
     1858TypeDef PMCI_VD_STEP_PARMS = *MCI_VD_STEP_PARMS
     1859TypeDef LPMCI_VD_STEP_PARMS = *MCI_VD_STEP_PARMS
     1860
     1861Type MCI_VD_ESCAPE_PARMSA
     1862    dwCallback As DWord
     1863    lpstrCommand As LPSTR
     1864End Type
     1865TypeDef PMCI_VD_ESCAPE_PARMSA = *MCI_VD_ESCAPE_PARMSA
     1866TypeDef LPMCI_VD_ESCAPE_PARMSA = *MCI_VD_ESCAPE_PARMSA
     1867TypeDef MCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMSA
     1868TypeDef PMCI_VD_ESCAPE_PARMS = PMCI_VD_ESCAPE_PARMSA
     1869TypeDef LPMCI_VD_ESCAPE_PARMS = LPMCI_VD_ESCAPE_PARMSA
     1870
     1871' MCI extensions for CD audio devices
     1872Const MCI_CDA_STATUS_TYPE_TRACK = &H00004001
     1873Const MCI_CDA_TRACK_AUDIO = (MCI_CD_OFFSET + 0)
     1874Const MCI_CDA_TRACK_OTHER = (MCI_CD_OFFSET + 1)
     1875
     1876' MCI extensions for waveform audio devices
     1877Const MCI_WAVE_PCM =                   (MCI_WAVE_OFFSET + 0)
     1878Const MCI_WAVE_MAPPER =                (MCI_WAVE_OFFSET + 1)
     1879Const MCI_WAVE_OPEN_BUFFER =           &H00010000
     1880Const MCI_WAVE_SET_FORMATTAG =         &H00010000
     1881Const MCI_WAVE_SET_CHANNELS =          &H00020000
     1882Const MCI_WAVE_SET_SAMPLESPERSEC =     &H00040000
     1883Const MCI_WAVE_SET_AVGBYTESPERSEC =    &H00080000
     1884Const MCI_WAVE_SET_BLOCKALIGN =        &H00100000
     1885Const MCI_WAVE_SET_BITSPERSAMPLE =     &H00200000
     1886Const MCI_WAVE_INPUT =                 &H00400000
     1887Const MCI_WAVE_OUTPUT =                &H00800000
     1888Const MCI_WAVE_STATUS_FORMATTAG =      &H00004001
     1889Const MCI_WAVE_STATUS_CHANNELS =       &H00004002
     1890Const MCI_WAVE_STATUS_SAMPLESPERSEC =  &H00004003
     1891Const MCI_WAVE_STATUS_AVGBYTESPERSEC = &H00004004
     1892Const MCI_WAVE_STATUS_BLOCKALIGN =     &H00004005
     1893Const MCI_WAVE_STATUS_BITSPERSAMPLE =  &H00004006
     1894Const MCI_WAVE_STATUS_LEVEL =          &H00004007
     1895Const MCI_WAVE_SET_ANYINPUT =          &H04000000
     1896Const MCI_WAVE_SET_ANYOUTPUT =         &H08000000
     1897Const MCI_WAVE_GETDEVCAPS_INPUTS =     &H00004001
     1898Const MCI_WAVE_GETDEVCAPS_OUTPUTS =    &H00004002
     1899
     1900Type MCI_WAVE_OPEN_PARMSA
     1901    dwCallback As DWord
     1902    wDeviceID As MCIDEVICEID
     1903    lpstrDeviceType As LPSTR
     1904    lpstrElementName As LPSTR
     1905    lpstrAlias As LPSTR
     1906    dwBufferSeconds As DWord
     1907End Type
     1908TypeDef PMCI_WAVE_OPEN_PARMSA = *MCI_WAVE_OPEN_PARMSA
     1909TypeDef LPMCI_WAVE_OPEN_PARMSA = *MCI_WAVE_OPEN_PARMSA
     1910TypeDef MCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMSA
     1911TypeDef PMCI_WAVE_OPEN_PARMS = PMCI_WAVE_OPEN_PARMSA
     1912TypeDef LPMCI_WAVE_OPEN_PARMS = LPMCI_WAVE_OPEN_PARMSA
     1913
     1914Type MCI_WAVE_DELETE_PARMS
     1915    dwCallback As DWord
     1916    dwFrom As DWord
     1917    dwTo As DWord
     1918End Type
     1919TypeDef PMCI_WAVE_DELETE_PARMS = *MCI_WAVE_DELETE_PARMS
     1920TypeDef LPMCI_WAVE_DELETE_PARMS = *MCI_WAVE_DELETE_PARMS
     1921
     1922Type MCI_WAVE_SET_PARMS
     1923    dwCallback As DWord
     1924    dwTimeFormat As DWord
     1925    dwAudio As DWord
     1926    wInput As DWord
     1927    wOutput As DWord
     1928    wFormatTag As Word
     1929    wReserved2 As Word
     1930    nChannels As Word
     1931    wReserved3 As Word
     1932    nSamplesPerSec As DWord
     1933    nAvgBytesPerSec As DWord
     1934    nBlockAlign As Word
     1935    wReserved4 As Word
     1936    wBitsPerSample As Word
     1937    wReserved5 As Word
     1938End Type
     1939TypeDef PMCI_WAVE_SET_PARMS = *MCI_WAVE_SET_PARMS
     1940TypeDef LPMCI_WAVE_SET_PARMS = *MCI_WAVE_SET_PARMS
     1941
     1942' MCI extensions for MIDI sequencer devices
     1943Const MCI_SEQ_DIV_PPQN =         (0 + MCI_SEQ_OFFSET)
     1944Const MCI_SEQ_DIV_SMPTE_24 =     (1 + MCI_SEQ_OFFSET)
     1945Const MCI_SEQ_DIV_SMPTE_25 =     (2 + MCI_SEQ_OFFSET)
     1946Const MCI_SEQ_DIV_SMPTE_30DROP = (3 + MCI_SEQ_OFFSET)
     1947Const MCI_SEQ_DIV_SMPTE_30 =     (4 + MCI_SEQ_OFFSET)
     1948Const MCI_SEQ_FORMAT_SONGPTR =   &H4001
     1949Const MCI_SEQ_FILE =             &H4002
     1950Const MCI_SEQ_MIDI =             &H4003
     1951Const MCI_SEQ_SMPTE =            &H4004
     1952Const MCI_SEQ_NONE =             65533
     1953Const MCI_SEQ_MAPPER =           65535
     1954Const MCI_SEQ_STATUS_TEMPO =     &H00004002
     1955Const MCI_SEQ_STATUS_PORT =      &H00004003
     1956Const MCI_SEQ_STATUS_SLAVE =     &H00004007
     1957Const MCI_SEQ_STATUS_MASTER =    &H00004008
     1958Const MCI_SEQ_STATUS_OFFSET =    &H00004009
     1959Const MCI_SEQ_STATUS_DIVTYPE =   &H0000400A
     1960Const MCI_SEQ_STATUS_NAME =      &H0000400B
     1961Const MCI_SEQ_STATUS_COPYRIGHT = &H0000400C
     1962Const MCI_SEQ_SET_TEMPO =        &H00010000
     1963Const MCI_SEQ_SET_PORT =         &H00020000
     1964Const MCI_SEQ_SET_SLAVE =        &H00040000
     1965Const MCI_SEQ_SET_MASTER =       &H00080000
     1966Const MCI_SEQ_SET_OFFSET =       &H01000000
     1967
     1968Type MCI_SEQ_SET_PARMS
     1969    dwCallback As DWord
     1970    dwTimeFormat As DWord
     1971    dwAudio As DWord
     1972    dwTempo As DWord
     1973    dwPort As DWord
     1974    dwSlave As DWord
     1975    dwMaster As DWord
     1976    dwOffset As DWord
     1977End Type
     1978TypeDef PMCI_SEQ_SET_PARMS = *MCI_SEQ_SET_PARMS
     1979TypeDef LPMCI_SEQ_SET_PARMS = *MCI_SEQ_SET_PARMS
     1980
     1981' MCI extensions for animation devices
     1982Const MCI_ANIM_OPEN_WS =                &H00010000
     1983Const MCI_ANIM_OPEN_PARENT =            &H00020000
     1984Const MCI_ANIM_OPEN_NOSTATIC =          &H00040000
     1985Const MCI_ANIM_PLAY_SPEED =             &H00010000
     1986Const MCI_ANIM_PLAY_REVERSE =           &H00020000
     1987Const MCI_ANIM_PLAY_FAST =              &H00040000
     1988Const MCI_ANIM_PLAY_SLOW =              &H00080000
     1989Const MCI_ANIM_PLAY_SCAN =              &H00100000
     1990Const MCI_ANIM_STEP_REVERSE =           &H00010000
     1991Const MCI_ANIM_STEP_FRAMES =            &H00020000
     1992Const MCI_ANIM_STATUS_SPEED =           &H00004001
     1993Const MCI_ANIM_STATUS_FORWARD =         &H00004002
     1994Const MCI_ANIM_STATUS_HWND =            &H00004003
     1995Const MCI_ANIM_STATUS_HPAL =            &H00004004
     1996Const MCI_ANIM_STATUS_STRETCH =         &H00004005
     1997Const MCI_ANIM_INFO_TEXT =              &H00010000
     1998Const MCI_ANIM_GETDEVCAPS_CAN_REVERSE = &H00004001
     1999Const MCI_ANIM_GETDEVCAPS_FAST_RATE =   &H00004002
     2000Const MCI_ANIM_GETDEVCAPS_SLOW_RATE =   &H00004003
     2001Const MCI_ANIM_GETDEVCAPS_NORMAL_RATE = &H00004004
     2002Const MCI_ANIM_GETDEVCAPS_PALETTES =    &H00004006
     2003Const MCI_ANIM_GETDEVCAPS_CAN_STRETCH = &H00004007
     2004Const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS = &H00004008
     2005Const MCI_ANIM_REALIZE_NORM =           &H00010000
     2006Const MCI_ANIM_REALIZE_BKGD =           &H00020000
     2007Const MCI_ANIM_WINDOW_HWND =            &H00010000
     2008Const MCI_ANIM_WINDOW_STATE =           &H00040000
     2009Const MCI_ANIM_WINDOW_TEXT =            &H00080000
     2010Const MCI_ANIM_WINDOW_ENABLE_STRETCH =  &H00100000
     2011Const MCI_ANIM_WINDOW_DISABLE_STRETCH = &H00200000
     2012Const MCI_ANIM_WINDOW_DEFAULT =         &H00000000
     2013Const MCI_ANIM_RECT =                   &H00010000
     2014Const MCI_ANIM_PUT_SOURCE =             &H00020000
     2015Const MCI_ANIM_PUT_DESTINATION =        &H00040000
     2016Const MCI_ANIM_WHERE_SOURCE =           &H00020000
     2017Const MCI_ANIM_WHERE_DESTINATION =      &H00040000
     2018Const MCI_ANIM_UPDATE_HDC =             &H00020000
     2019
     2020Type MCI_ANIM_OPEN_PARMSA
     2021    dwCallback As DWord
     2022    wDeviceID As MCIDEVICEID
     2023    lpstrDeviceType As LPSTR
     2024    lpstrElementName As LPSTR
     2025    lpstrAlias As LPSTR
     2026    dwStyle As DWord
     2027    hWndParent As HWND
     2028End Type
     2029TypeDef PMCI_ANIM_OPEN_PARMSA = *MCI_ANIM_OPEN_PARMSA
     2030TypeDef LPMCI_ANIM_OPEN_PARMSA = *MCI_ANIM_OPEN_PARMSA
     2031TypeDef MCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMSA
     2032TypeDef PMCI_ANIM_OPEN_PARMS = PMCI_ANIM_OPEN_PARMSA
     2033TypeDef LPMCI_ANIM_OPEN_PARMS = LPMCI_ANIM_OPEN_PARMSA
     2034
     2035Type MCI_ANIM_PLAY_PARMS
     2036    dwCallback As DWord
     2037    dwFrom As DWord
     2038    dwTo As DWord
     2039    dwSpeed As DWord
     2040End Type
     2041TypeDef PMCI_ANIM_PLAY_PARMS = *MCI_ANIM_PLAY_PARMS
     2042TypeDef LPMCI_ANIM_PLAY_PARMS = *MCI_ANIM_PLAY_PARMS
     2043
     2044Type MCI_ANIM_STEP_PARMS
     2045    dwCallback As DWord
     2046    dwFrames As DWord
     2047End Type
     2048TypeDef PMCI_ANIM_STEP_PARMS = *MCI_ANIM_STEP_PARMS
     2049TypeDef LPMCI_ANIM_STEP_PARMS = *MCI_ANIM_STEP_PARMS
     2050
     2051Type MCI_ANIM_WINDOW_PARMSA
     2052    dwCallback As DWord
     2053    hWnd As HWND
     2054    nCmdShow As DWord
     2055    lpstrText As LPSTR
     2056End Type
     2057TypeDef PMCI_ANIM_WINDOW_PARMSA = *MCI_ANIM_WINDOW_PARMSA
     2058TypeDef LPMCI_ANIM_WINDOW_PARMSA = *MCI_ANIM_WINDOW_PARMSA
     2059TypeDef MCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMSA
     2060TypeDef PMCI_ANIM_WINDOW_PARMS = PMCI_ANIM_WINDOW_PARMSA
     2061TypeDef LPMCI_ANIM_WINDOW_PARMS = LPMCI_ANIM_WINDOW_PARMSA
     2062
     2063Type MCI_ANIM_RECT_PARMS
     2064    dwCallback As DWord
     2065    rc As RECT
     2066End Type
     2067TypeDef PMCI_ANIM_RECT_PARMS = *MCI_ANIM_RECT_PARMS
     2068TypeDef LPMCI_ANIM_RECT_PARMS = *MCI_ANIM_RECT_PARMS
     2069
     2070Type MCI_ANIM_UPDATE_PARMS
     2071    dwCallback As DWord
     2072    rc As RECT
     2073    hDC As HDC
     2074End Type
     2075TypeDef PMCI_ANIM_UPDATE_PARMS = *MCI_ANIM_UPDATE_PARMS
     2076TypeDef LPMCI_ANIM_UPDATE_PARMS = *MCI_ANIM_UPDATE_PARMS
     2077
     2078' MCI extensions for video overlay devices
     2079Const MCI_OVLY_OPEN_WS =                &H00010000
     2080Const MCI_OVLY_OPEN_PARENT =            &H00020000
     2081Const MCI_OVLY_STATUS_HWND =            &H00004001
     2082Const MCI_OVLY_STATUS_STRETCH =         &H00004002
     2083Const MCI_OVLY_INFO_TEXT =              &H00010000
     2084Const MCI_OVLY_GETDEVCAPS_CAN_STRETCH = &H00004001
     2085Const MCI_OVLY_GETDEVCAPS_CAN_FREEZE =  &H00004002
     2086Const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = &H00004003
     2087Const MCI_OVLY_WINDOW_HWND =            &H00010000
     2088Const MCI_OVLY_WINDOW_STATE =           &H00040000
     2089Const MCI_OVLY_WINDOW_TEXT =            &H00080000
     2090Const MCI_OVLY_WINDOW_ENABLE_STRETCH =  &H00100000
     2091Const MCI_OVLY_WINDOW_DISABLE_STRETCH = &H00200000
     2092Const MCI_OVLY_WINDOW_DEFAULT =         &H00000000
     2093Const MCI_OVLY_RECT =                   &H00010000
     2094Const MCI_OVLY_PUT_SOURCE =             &H00020000
     2095Const MCI_OVLY_PUT_DESTINATION =        &H00040000
     2096Const MCI_OVLY_PUT_FRAME =              &H00080000
     2097Const MCI_OVLY_PUT_VIDEO =              &H00100000
     2098Const MCI_OVLY_WHERE_SOURCE =           &H00020000
     2099Const MCI_OVLY_WHERE_DESTINATION =      &H00040000
     2100Const MCI_OVLY_WHERE_FRAME =            &H00080000
     2101Const MCI_OVLY_WHERE_VIDEO =            &H00100000
     2102
     2103Type MCI_OVLY_OPEN_PARMSA
     2104    dwCallback As DWord
     2105    wDeviceID As MCIDEVICEID
     2106    lpstrDeviceType As LPSTR
     2107    lpstrElementName As LPSTR
     2108    lpstrAlias As LPSTR
     2109    dwStyle As DWord
     2110    hWndParent As HWND
     2111End Type
     2112TypeDef PMCI_OVLY_OPEN_PARMSA = *MCI_OVLY_OPEN_PARMSA
     2113TypeDef LPMCI_OVLY_OPEN_PARMSA = *MCI_OVLY_OPEN_PARMSA
     2114TypeDef MCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMSA
     2115TypeDef PMCI_OVLY_OPEN_PARMS = PMCI_OVLY_OPEN_PARMSA
     2116TypeDef LPMCI_OVLY_OPEN_PARMS = LPMCI_OVLY_OPEN_PARMSA
     2117
     2118Type MCI_OVLY_WINDOW_PARMSA
     2119    dwCallback As DWord
     2120    hWnd As HWND
     2121    nCmdShow As DWord
     2122    lpstrText As LPSTR
     2123End Type
     2124TypeDef PMCI_OVLY_WINDOW_PARMSA = *MCI_OVLY_WINDOW_PARMSA
     2125TypeDef LPMCI_OVLY_WINDOW_PARMSA = *MCI_OVLY_WINDOW_PARMSA
     2126TypeDef MCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMSA
     2127TypeDef PMCI_OVLY_WINDOW_PARMS = PMCI_OVLY_WINDOW_PARMSA
     2128TypeDef LPMCI_OVLY_WINDOW_PARMS = LPMCI_OVLY_WINDOW_PARMSA
     2129
     2130Type MCI_OVLY_RECT_PARMS
     2131    dwCallback As DWord
     2132    rc As RECT
     2133End Type
     2134TypeDef PMCI_OVLY_RECT_PARMS = *MCI_OVLY_RECT_PARMS
     2135TypeDef LPMCI_OVLY_RECT_PARMS = *MCI_OVLY_RECT_PARMS
     2136
     2137Type MCI_OVLY_SAVE_PARMSA
     2138    dwCallback As DWord
     2139    lpfilename As LPSTR
     2140    rc As RECT
     2141End Type
     2142TypeDef PMCI_OVLY_SAVE_PARMSA = *MCI_OVLY_SAVE_PARMSA
     2143TypeDef LPMCI_OVLY_SAVE_PARMSA = *MCI_OVLY_SAVE_PARMSA
     2144TypeDef MCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMSA
     2145TypeDef PMCI_OVLY_SAVE_PARMS = PMCI_OVLY_SAVE_PARMSA
     2146TypeDef LPMCI_OVLY_SAVE_PARMS = LPMCI_OVLY_SAVE_PARMSA
     2147
     2148Type MCI_OVLY_LOAD_PARMSA
     2149    dwCallback As DWord
     2150    lpfilename As LPSTR
     2151    rc As RECT
     2152End Type
     2153TypeDef PMCI_OVLY_LOAD_PARMSA = *MCI_OVLY_LOAD_PARMSA
     2154TypeDef LPMCI_OVLY_LOAD_PARMSA = *MCI_OVLY_LOAD_PARMSA
     2155TypeDef MCI_OVLY_LOAD_PARMS = MCI_OVLY_LOAD_PARMSA
     2156TypeDef PMCI_OVLY_LOAD_PARMS = PMCI_OVLY_LOAD_PARMSA
     2157TypeDef LPMCI_OVLY_LOAD_PARMS = LPMCI_OVLY_LOAD_PARMSA
     2158
     2159' DISPLAY Driver extensions
     2160Const NEWTRANSPARENT = 3
     2161Const QUERYROPSUPPORT = 40
     2162
     2163' DIB Driver extensions
     2164Const SELECTDIB = 41
     2165Const DIBINDEX(n) = MAKELONG(n,&H10FF)
    17162166
    17172167#endif '_INC_MMSYS
Note: See TracChangeset for help on using the changeset viewer.