Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*-----------------------------------------------------------------------------+
| MCI.H | | | | Routines for dealing with MCI devices. | | These routines only support *one* open MCI device/file at a time. | | | | (C) Copyright Microsoft Corporation 1992. All rights reserved. | | | | Revision History | | Oct-1992 MikeTri Ported to WIN32 / WIN16 common code | | | +-----------------------------------------------------------------------------*/
#define MCI_WINDOW_CLASS TEXT("MCIWindow")
BOOL FAR PASCAL InitMCI(HANDLE hPrev, HANDLE hInst); BOOL FAR PASCAL OpenMCI(LPCTSTR szFile, LPCTSTR szDevice); void LoadStatusStrings(void); LPTSTR MapModeToStatusString( WORD Mode ); void FAR PASCAL UpdateMCI(void); void FAR PASCAL CloseMCI(BOOL fUpdateDisplay); BOOL FAR PASCAL PlayMCI(DWORD_PTR dwFrom, DWORD_PTR dwTo); BOOL FAR PASCAL PauseMCI(void); BOOL FAR PASCAL StopMCI(void); BOOL FAR PASCAL EjectMCI(BOOL fOpen); UINT FAR PASCAL StatusMCI(DWORD_PTR FAR *pdwPosition); BOOL FAR PASCAL SeekMCI(DWORD_PTR dwPosition); BOOL FAR PASCAL SeekToStartMCI(void); void FAR PASCAL SkipTrackMCI(int iSkip); BOOL FAR PASCAL SetWindowMCI(HWND hwnd); HWND FAR PASCAL GetWindowMCI(void); BOOL FAR PASCAL SetPaletteMCI(HPALETTE hpal); BOOL FAR PASCAL SetTimeFormatMCI(UINT wTimeFormat); BOOL FAR PASCAL SeekExactMCI(BOOL fExact); void FAR PASCAL CreateWindowMCI(void); void FAR PASCAL FindDeviceMCI(void); void FAR PASCAL GetDeviceNameMCI(LPTSTR szDevice, UINT wLen); void FAR PASCAL QueryDevicesMCI(LPTSTR szDevices, UINT wLen);
BOOL FAR PASCAL GetDestRectMCI(LPRECT lprc); BOOL FAR PASCAL GetSourceRectMCI(LPRECT lprc); BOOL FAR PASCAL SetDestRectMCI(LPRECT lprc); BOOL FAR PASCAL SetSourceRectMCI(LPRECT lprc);
BOOL FAR PASCAL ShowWindowMCI(BOOL fShow); BOOL FAR PASCAL PutWindowMCI(LPRECT prc);
#define MCI_STRING_LENGTH 128
DWORD PASCAL SendStringMCI(PTSTR szCmd, PTSTR szReturn, UINT wLen);
BOOL FAR PASCAL ConfigMCI(HWND hwnd);
HPALETTE FAR PASCAL PaletteMCI(void); HBITMAP FAR PASCAL BitmapMCI(void); void FAR PASCAL CopyMCI(HWND hwnd);
#define WM_MCI_POSITION_CHANGE (WM_USER+10) // wParam = DeviceID, lParam = position
#define WM_MCI_MODE_CHANGE (WM_USER+11) // wParam = DeviceID, lParam = mode
#define WM_MCI_MEDIA_CHANGE (WM_USER+12) // wParam = DeviceID, lParam = 0
//
// the following flags are returned by DeviceTypeMCI, and QueryDeviceMCI
//
UINT FAR PASCAL DeviceTypeMCI(LPTSTR szDevice, LPTSTR szDeviceName, int nBuf); UINT FAR PASCAL QueryDeviceTypeMCI(UINT wDeviceID);
extern UINT gwDeviceType;
#define DTMCI_ERROR 0x0000
#define DTMCI_IGNOREDEVICE 0xFFFF
#define DTMCI_SIMPLEDEV 0x0001 // simple (not compound) device
#define DTMCI_FILEDEV 0x0002 // device does files
#define DTMCI_COMPOUNDDEV 0x0004 // compound (not simple) device
#define DTMCI_CANSEEKEXACT 0x0008 // can seek exactly
#define DTMCI_CANPLAY 0x0010 // device supports play
#define DTMCI_CANEJECT 0x0020 // device supports eject
#define DTMCI_CANCONFIG 0x0040 // device supports config
#define DTMCI_CANMUTE 0x0080 // device supports set audio
#define DTMCI_CANPAUSE 0x0100 // device supports config
#define DTMCI_CANWINDOW 0x0200 // device supports windows
#define DTMCI_TIMEFRAMES 0x0400 // device does frames
#define DTMCI_TIMEMS 0x0800 // device does milliseconds
// Known devices:
#define DTMCI_DEVICE 0xF000 // The following are mutually exclusive
#define DTMCI_AVIVIDEO 0x1000 // device is MCIAVI
#define DTMCI_CDAUDIO 0x2000 // device is CDAUDIO
#define DTMCI_SEQUENCER 0x3000 // device is MIDI sequencer
#define DTMCI_WAVEAUDIO 0x4000 // device is Wave audio
#define DTMCI_VIDEODISC 0x5000 // device is Video disc
#define DTMCI_VCR 0x6000 // device is Video cassette
|