mcios2.mh

来自「开放源码的编译器open watcom 1.6.0版的源代码」· MH 代码 · 共 1,553 行 · 第 1/4 页

MH
1,553
字号
    RECTL  rect;
    PVOID  pPelBuffer;
    ULONG  ulPelBufferHeight;
    ULONG  ulPelBufferWidth;
    ULONG  ulBufLen;
} MCI_IMAGE_PARMS, *PMCI_IMAGE_PARMS;

typedef struct _MCI_PALETTE_PARMS {
    HWND   hwndCallback;
    USHORT usRegisteredMap;
    USHORT usReserved0;
    ULONG  ulPalEntries;
    PVOID  pPalette;
} MCI_PALETTE_PARMS, *PMCI_PALETTE_PARMS;

typedef struct _MCI_TOC_REC {
    BYTE   TrackNum;
    ULONG  ulStartAddr;
    ULONG  ulEndAddr;
    BYTE   Control;
    USHORT usCountry;
    ULONG  ulOwner;
    ULONG  ulSerialNum;
} MCI_TOC_REC, *PTOCREC;

typedef struct _MCI_TOC_PARMS {
    HWND    hwndCallback;
    PTOCREC pBuf;
    ULONG   ulBufSize;
} MCI_TOC_PARMS, *PMCI_TOC_PARMS;

typedef struct _MCI_GROUP_PARMS {
    HWND   hwndCallback;
    USHORT usGroupID;
    USHORT usReserved0;
    ULONG  ulStructLength;
    USHORT usMasterID;
    USHORT usReserved1;
    PSZ    pszGroupAlias;
    ULONG  ulNumDevices;
    PULONG paulDeviceID;
} MCI_GROUP_PARMS, *PMCI_GROUP_PARMS;

typedef struct _MCI_INFO_PARMS {
    HWND  hwndCallback;
    PSZ   pszReturn;
    ULONG ulRetSize;
} MCI_INFO_PARMS, *PMCI_INFO_PARMS;

typedef struct _MCI_LOAD_PARMS {
    HWND hwndCallback;
    PSZ  pszElementName;
} MCI_LOAD_PARMS, *PMCI_LOAD_PARMS;

typedef struct _MCI_MASTERAUDIO_PARMS {
    HWND  hwndDummyCallback;
    ULONG ulReturn;
    ULONG ulMasterVolume;
} MCI_MASTERAUDIO_PARMS, *PMCI_MASTERAUDIO_PARMS;

typedef struct _MCI_OPEN_PARMS {
    HWND   hwndCallback;
    USHORT usDeviceID;
    USHORT usReserved0;
    PSZ    pszDeviceType;
    PSZ    pszElementName;
    PSZ    pszAlias;
} MCI_OPEN_PARMS, *PMCI_OPEN_PARMS;

typedef struct _MCI_AMP_OPEN_PARMS {
    HWND   hwndCallback;
    USHORT usDeviceID;
    USHORT usReserved0;
    PSZ    pszDeviceType;
    PSZ    pszElementName;
    PSZ    pszAlias;
    PVOID  pDevDataPtr;
} MCI_AMP_OPEN_PARMS, *PMCI_AMP_OPEN_PARMS;

typedef  struct _MCI_VID_OPEN_PARMS {
    HWND   hwndCallback;
    USHORT usDeviceID;
    USHORT usReserved0;
    PSZ    pszDeviceType;
    PSZ    pszElementName;
    PSZ    pszAlias;
    HWND   hwndParent;
} MCI_VID_OPEN_PARMS, *PMCI_DGV_OPEN_PARMS;

typedef MCI_VID_OPEN_PARMS MCI_DGV_OPEN_PARMS;
typedef MCI_VID_OPEN_PARMS MCI_OVLY_OPEN_PARMS;
typedef MCI_OVLY_OPEN_PARMS *PMCI_OVLY_OPEN_PARMS;

typedef struct _MCI_PLAY_PARMS {
    HWND  hwndCallback;
    ULONG ulFrom;
    ULONG ulTo;
} MCI_PLAY_PARMS, *PMCI_PLAY_PARMS;

typedef struct _MCI_VD_PLAY_PARMS {
    HWND  hwndCallback;
    ULONG ulFrom;
    ULONG ulTo;
    ULONG ulFactor;
} MCI_VD_PLAY_PARMS, *PMCI_VD_PLAY_PARMS;

typedef struct _MCI_DGV_PLAY_PARMS {
    HWND  hwndCallback;
    ULONG ulFrom;
    ULONG ulTo;
    ULONG ulSpeed;
} MCI_DGV_PLAY_PARMS, *PMCI_DGV_PLAY_PARMS;

typedef struct _MCI_VID_RECT_PARMS {
    HWND  hwndCallback;
    RECTL rc;
} MCI_VID_RECT_PARMS, *PMCI_DGV_RECT_PARMS;

typedef MCI_VID_RECT_PARMS MCI_DGV_RECT_PARMS;
typedef MCI_VID_RECT_PARMS MCI_OVLY_RECT_PARMS;
typedef MCI_OVLY_RECT_PARMS *PMCI_OVLY_RECT_PARMS;

typedef struct _MCI_RECORD_PARMS {
    HWND  hwndCallback;
    ULONG ulFrom;
    ULONG ulTo;
} MCI_RECORD_PARMS, *PMCI_RECORD_PARMS;

typedef struct _MCI_RESTORE_PARMS {
    HWND  hwndCallback;
    RECTL SrcRect;
    RECTL DestRect;
} MCI_RESTORE_PARMS, *PMCI_RESTORE_PARMS;

typedef struct _MCI_SAVE_PARMS {
    HWND hwndCallback;
    PSZ  pszFileName;
} MCI_SAVE_PARMS, *PMCI_SAVE_PARMS;

typedef struct _MCI_SEEK_PARMS {
    HWND  hwndCallback;
    ULONG ulTo;
} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS;

typedef struct _MCI_SET_PARMS {
    HWND  hwndCallback;
    ULONG ulTimeFormat;
    ULONG ulSpeedFormat;
    ULONG ulAudio;
    ULONG ulLevel;
    ULONG ulOver;
    ULONG ulItem;
    ULONG ulValue;
} MCI_SET_PARMS, *PMCI_SET_PARMS;

typedef MCI_SET_PARMS MCI_AMP_SET_PARMS;
typedef MCI_AMP_SET_PARMS *PMCI_AMP_SET_PARMS;
typedef MCI_SET_PARMS MCI_DGV_SET_PARMS;
typedef MCI_DGV_SET_PARMS *PMCI_DGV_SET_PARMS;
typedef MCI_SET_PARMS MCI_OVLY_SET_PARMS;
typedef MCI_OVLY_SET_PARMS *PMCI_OVLY_SET_PARMS;

typedef struct _MCI_CDXA_SET_PARMS {
    HWND  hwndCallback;
    ULONG ulTimeFormat;
    ULONG ulSpeedFormat;
    ULONG ulAudio;
    ULONG ulLevel;
    ULONG ulOver;
    ULONG ulItem;
    ULONG ulValue;
    ULONG ulChannel;
    PVOID pPlayList;
    ULONG ulPlayListSize;
} MCI_CDXA_SET_PARMS, *PMCI_CDXA_SET_PARMS;

typedef struct _MCI_VD_SET_PARMS {
    HWND  hwndCallback;
    ULONG ulTimeFormat;
    ULONG ulSpeedFormat;
    ULONG ulAudio;
    ULONG ulLevel;
    ULONG ulOver;
    ULONG ulItem;
    ULONG ulValue;
    ULONG ulChannel;
} MCI_VD_SET_PARMS, *PMCI_VD_SET_PARMS;

typedef struct _MCI_WAVE_SET_PARMS {
    HWND   hwndCallback;
    ULONG  ulTimeFormat;
    ULONG  ulSpeedFormat;
    ULONG  ulAudio;
    ULONG  ulLevel;
    ULONG  ulOver;
    ULONG  ulItem;
    ULONG  ulValue;
    USHORT usInput;
    USHORT usReserved0;
    USHORT usOutput;
    USHORT usReserved1;
    USHORT usFormatTag;
    USHORT usReserved2;
    USHORT usChannels;
    USHORT usReserved3;
    ULONG  ulSamplesPerSec;
    ULONG  ulAvgBytesPerSec;
    USHORT usBlockAlign;
    USHORT usReserved4;
    USHORT usBitsPerSample;
    USHORT usReserved5;
} MCI_WAVE_SET_PARMS, *PMCI_WAVE_SET_PARMS;

typedef struct _MCI_SEQ_SET_PARMS {
    HWND  hwndCallback;
    ULONG ulTimeFormat;
    ULONG ulSpeedFormat;
    ULONG ulAudio;
    ULONG ulLevel;
    ULONG ulOver;
    ULONG ulItem;
    ULONG ulValue;
    ULONG ulTempo;
    ULONG ulPort;
    ULONG ulSlave;
    ULONG ulMaster;
    ULONG ulOffset;
} MCI_SEQ_SET_PARMS, *PMCI_SEQ_SET_PARMS;

typedef struct _MCI_CUEPOINT_PARMS {
    HWND   hwndCallback;
    ULONG  ulCuepoint;
    USHORT usUserParm;
    USHORT usReserved0;
} MCI_CUEPOINT_PARMS, *PMCI_CUEPOINT_PARMS;

typedef struct _MCI_POSITION_PARMS {
    HWND   hwndCallback;
    ULONG  ulUnits;
    USHORT usUserParm;
    USHORT Reserved0;
    ULONG  Reserved1;
} MCI_POSITION_PARMS, *PMCI_POSITION_PARMS;

typedef struct _MCI_SYNC_OFFSET_PARMS {
    HWND  hwndCallback;
    ULONG ulOffset;
} MCI_SYNC_OFFSET_PARMS, *PMCI_SYNC_OFFSET_PARMS;

typedef struct _MCI_STATUS_PARMS {
    HWND  hwndCallback;
    ULONG ulReturn;
    ULONG ulItem;
    ULONG ulValue;
} MCI_STATUS_PARMS, *PMCI_STATUS_PARMS;

typedef struct _MCI_CDXA_STATUS_PARMS {
    HWND  hwndCallback;
    ULONG ulReturn;
    ULONG ulItem;
    ULONG ulValue;
    ULONG ulChannel;
} MCI_CDXA_STATUS_PARMS, *PMCI_CDXA_STATUS_PARMS;

typedef struct _MCI_STEP_PARMS {
    HWND  hwndCallback;
    ULONG ulStep;
} MCI_STEP_PARMS, *PMCI_STEP_PARMS;

typedef struct _MCI_SYSINFO_PARMS {
    HWND   hwndDummyCallback;
    PSZ    pszReturn;
    ULONG  ulRetSize;
    ULONG  ulNumber;
    USHORT usDeviceType;
    USHORT usReserved0;
    ULONG  ulItem;
    PVOID  pSysInfoParm;
} MCI_SYSINFO_PARMS, *PMCI_SYSINFO_PARMS;

typedef struct _MCI_SYSINFO_LOGDEVICE {
    CHAR   szInstallName[MAX_DEVICE_NAME];
    USHORT usDeviceType;
    ULONG  ulDeviceFlag;
    CHAR   szVersionNumber[MAX_VERSION_NUMBER];
    CHAR   szProductInfo[MAX_PRODINFO];
    CHAR   szMCDDriver[MAX_DEVICE_NAME];
    CHAR   szVSDDriver[MAX_DEVICE_NAME];
    CHAR   szPDDName[MAX_PDD_NAME];
    CHAR   szMCDTable[MAX_DEVICE_NAME];
    CHAR   szVSDTable[MAX_DEVICE_NAME];
    USHORT usShareType;
    CHAR   szResourceName[MAX_DEVICE_NAME];
    USHORT usResourceUnits;
    USHORT usResourceClasses;
    USHORT ausClassArray[MAX_CLASSES];
    USHORT ausValidClassArray[MAX_CLASSES][MAX_CLASSES];
} MCI_SYSINFO_LOGDEVICE, *PMCI_SYSINFO_LOGDEVICE;

typedef struct _MCI_SYSINFO_DEVPARAMS {
    CHAR szInstallName[MAX_DEVICE_NAME];
    CHAR szDevParams[MAX_DEV_PARAMS];
} MCI_SYSINFO_DEVPARAMS, *PMCI_SYSINFO_DEVPARAMS;

typedef struct _CONNECT {
    USHORT usConnectType;
    CHAR   szToInstallName[MAX_DEVICE_NAME];
    USHORT usToConnectIndex;
} CONNECT, *PCONNECT;

typedef struct _MCI_SYSINFO_CONPARAMS {
    CHAR    szInstallName[MAX_DEVICE_NAME];
    USHORT  usNumConnectors;
    CONNECT ConnectorList[MAX_CONNECTORS];
} MCI_SYSINFO_CONPARAMS, *PMCI_SYSINFO_CONPARAMS;

typedef struct _MCI_SYSINFO_EXTENSION {
    CHAR   szInstallName[MAX_DEVICE_NAME];
    USHORT usNumExtensions;
    CHAR   szExtension[MAX_EXTENSIONS][MAX_EXTENSION_NAME];
} MCI_SYSINFO_EXTENSION, *PMCI_SYSINFO_EXTENSION;

typedef struct _MCI_SYSINFO_ALIAS {
    CHAR szInstallName[MAX_DEVICE_NAME];
    CHAR szAliasName[MAX_ALIAS_NAME];
} MCI_SYSINFO_ALIAS, *PMCI_SYSINFO_ALIAS;

typedef struct _MCI_SYSINFO_DEFAULTDEVICE {
    CHAR   szInstallName[MAX_DEVICE_NAME];
    USHORT usDeviceType;
} MCI_SYSINFO_DEFAULTDEVICE, *PMCI_SYSINFO_DEFAULTDEVICE;

typedef struct _MCI_SYSINFO_QUERY_NAME {
    CHAR   szInstallName[MAX_DEVICE_NAME];
    CHAR   szLogicalName[MAX_DEVICE_NAME];
    CHAR   szAliasName[MAX_ALIAS_NAME];
    USHORT usDeviceType;
    USHORT usDeviceOrd;
} MCI_SYSINFO_QUERY_NAME, *PMCI_SYSINFO_QUERY_NAME;

typedef struct _MCI_SYSINFO_TYPES {
    CHAR szInstallName[MAX_DEVICE_NAME];
    CHAR szTypes[MAX_TYPEBUFFER+1];
} MCI_SYSINFO_TYPES, *PMCI_SYSINFO_TYPES;

typedef  struct _MCI_VID_WINDOW_PARMS {
    HWND   hwndCallback;
    HWND   hwndDest;
    USHORT usCmdShow;
    USHORT usReserved1;
    PSZ    pszText;
    PSZ    pszAlias;
} MCI_VID_WINDOW_PARMS;

typedef MCI_VID_WINDOW_PARMS MCI_DGV_WINDOW_PARMS;
typedef MCI_DGV_WINDOW_PARMS *PMCI_DGV_WINDOW_PARMS;
typedef MCI_VID_WINDOW_PARMS MCI_OVLY_WINDOW_PARMS;
typedef MCI_OVLY_WINDOW_PARMS *PMCI_OVLY_WINDOW_PARMS;

typedef struct _MCI_DGV_TUNER_PARMS {
    HWND  hwndCallback;
    ULONG ulFrequency;
    ULONG ulAudioChannel;
    ULONG ulTVChannel;
    LONG  lFineTune;
    PSZ   pszRegion;
    ULONG ulReserved1;
    ULONG ulReserved2;
} MCI_DGV_TUNER_PARMS, *LPMCI_DGV_TUNER_PARMS;

#pragma pack()

ULONG APIENTRY mciSendCommand(USHORT,USHORT,ULONG,PVOID,USHORT);
ULONG APIENTRY mciSendString(PSZ,PSZ,USHORT,HWND,USHORT);
ULONG APIENTRY mciGetErrorString(ULONG,PSZ,USHORT);
ULONG APIENTRY mciMakeGroup(PUSHORT,USHORT,PUSHORT,ULONG,ULONG);
ULONG APIENTRY mciDeleteGroup(USHORT);
BOOL  APIENTRY mciSetSysValue(USHORT,PVOID);
BOOL  APIENTRY mciQuerySysValue(USHORT,PVOID);
ULONG APIENTRY mciGetDeviceID(PSZ);

:include cplusepi.sp

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?