449{
451
453
457
458 switch (wMsg)
459 {
462 break;
463
467
470
472
476 break;
477
479 {
482
484
488
490 return 1;
491 }
492
495
498
501 {
504 }
505 break;
506
509 return 0;
510
515
517 {
519
526 }
528 break;
529
533 return 0;
534
536 {
541 }
542
544 {
551 static const WCHAR formatW[] = {
'%',
'd',0};
552 static const WCHAR mci32W[] = {
'm',
'c',
'i',
'3',
'2',0};
553 static const WCHAR system_iniW[] = {
's',
'y',
's',
't',
'e',
'm',
'.',
'i',
'n',
'i',0};
554
556
558 {
560 goto end_of_mci_open;
561 }
562
564 {
567 }
568
571
579
581 {
582
583 static const WCHAR caption[] = {
'M',
'C',
'I',
' ',
'E',
'r',
'r',
'o',
'r',0};
585
589 goto end_of_mci_open;
590 }
591
595
597
603 {
605 goto end_of_mci_open;
606 }
607
609
610 drv_name[0] = 0;
615
617 {
619
625 {
627 goto end_of_mci_open;
628 }
629 }
630
632 {
633 mwi->
size.
cx = rc.right - rc.left;
634 mwi->
size.
cy = rc.bottom - rc.top;
635
639 }
640 else
641 {
643 rc.bottom = rc.top;
644 }
645
647 rc.bottom += 32;
651
656
658
659end_of_mci_open:
663 }
664
666 TRACE(
"MCIWNDM_GETDEVICEID\n");
668
670 TRACE(
"MCIWNDM_GETALIAS\n");
672
674 {
676
681 {
684 }
687 return 0;
688 }
689
691 {
693
698 {
701 }
704 return 0;
705 }
706
708 {
710
717 {
720 }
721 return 0;
722 }
723
725 {
727
730
735 {
738 }
739 return 0;
740 }
741
743 {
745
751 {
753 return 0;
754 }
757 }
758
760 {
762
768 {
770 return 0;
771 }
774 }
775
777 {
779
784 }
785
788 {
790
791 TRACE(
"MCIWNDM_GETPOSITION\n");
792
793
795 {
797 {
799
802 }
803 else
804 {
805
807 static const WCHAR formatW[] = {
's',
't',
'a',
't',
'u',
's',
' ',
'%',
'd',
' ',
'p',
'o',
's',
'i',
't',
'i',
'o',
'n',0};
808
811 }
812
814 return 0;
815 }
816
822 return 0;
823
825 }
826
829 {
831
832 TRACE(
"MCIWNDM_GETMODE\n");
833
836
837
839 {
841 {
843
846 }
847 else
848 {
849
851 static const WCHAR formatW[] = {
's',
't',
'a',
't',
'u',
's',
' ',
'%',
'd',
' ',
'm',
'o',
'd',
'e',0};
852
855 }
856
859 }
860
867
869 }
870
872 {
874
876
883 {
886 }
887
890 return 0;
891 }
892
894 {
896
898
905 {
908 }
909
912 return 0;
913 }
914
916 {
919
921
925 {
926 default:
929 break;
930
933 break;
934
935#ifdef MCI_VCR_PLAY_REVERSE
937 flags |= MCI_VCR_PLAY_REVERSE;
938 break;
939#endif
940
943 break;
944
945 }
949 {
952 }
953
956 return 0;
957 }
958
963
968
972 return 0;
973
975 {
977
979
982 }
983
985 {
987
989
992 {
993 static const WCHAR formatW[] = {
'%',
'd',
' ',0};
995
998
1000
1004 }
1005 else
1007
1012
1015
1018
1021 }
1022
1027
1032
1034 TRACE(
"MCIWNDM_SETTIMERS active %d ms, inactive %d ms\n", (
int)
wParam, (
int)
lParam);
1037 return 0;
1038
1040 TRACE(
"MCIWNDM_SETACTIVETIMER %d ms\n", (
int)
wParam);
1042 return 0;
1043
1045 TRACE(
"MCIWNDM_SETINACTIVETIMER %d ms\n", (
int)
wParam);
1047 return 0;
1048
1052
1056
1059
1060
1061
1064 return 0;
1065
1067 TRACE(
"MCIWNDM_GETSTYLES: %08lx\n", mwi->
dwStyle & 0xffff);
1069
1071 {
1075
1083 return 0;
1084 }
1085
1087 {
1091
1099 return 0;
1100 }
1101
1103 TRACE(
"MCIWNDM_VALIDATEMEDIA\n");
1105 {
1108 }
1109 return 0;
1110
1115 return 0;
1116
1121 return 0;
1122
1125 {
1127
1129
1130
1132 {
1134 {
1136
1140 return 0;
1141 }
1142 else
1143 {
1145 static const WCHAR formatW[] = {
's',
't',
'a',
't',
'u',
's',
' ',
'%',
'd',
' ',
't',
'i',
'm',
'e',
' ',
'f',
'o',
'r',
'm',
'a',
't',0};
1146
1150 return 0;
1151 }
1152 }
1153
1159 return 0;
1160
1162 }
1163
1165 {
1167
1169
1172 }
1173
1175 {
1176 static const WCHAR formatW[] = {
's',
'e',
't',
' ',
'%',
'd',
' ',
't',
'i',
'm',
'e',
' ',
'f',
'o',
'r',
'm',
'a',
't',
' ',0};
1178
1180
1182 {
1186
1188
1189
1193
1195 }
1196
1199
1200 return 0;
1201 }
1202
1204 TRACE(
"MCIWNDM_CAN_PLAY\n");
1207 return 0;
1208
1210 TRACE(
"MCIWNDM_CAN_RECORD\n");
1213 return 0;
1214
1216 TRACE(
"MCIWNDM_CAN_SAVE\n");
1219 return 0;
1220
1222 TRACE(
"MCIWNDM_CAN_EJECT\n");
1225 return 0;
1226
1228 TRACE(
"MCIWNDM_CAN_WINDOW\n");
1230 {
1234 return 1;
1235 }
1236 return 0;
1237
1239 TRACE(
"MCIWNDM_CAN_CONFIG\n");
1242 return 0;
1243
1247
1249 {
1251
1255
1261 }
1262 return 0;
1263
1265 TRACE(
"MCIWNDM_GETZOOM: %d\n", mwi->
zoom);
1267
1269 {
1271
1272 TRACE(
"MCIWNDM_EJECT\n");
1273
1281 }
1282
1296 FIXME(
"support for MCIWNDM_ message WM_USER+%d not implemented\n", wMsg -
WM_USER);
1297 return 0;
1298
1300 {
1303 }
1304
1307 {
1312
1317 {
1320 }
1321
1323 return 0;
1324 }
1325
1327 {
1330
1332 {
1335 }
1336
1338 {
1343 }
1344
1347
1351
1359
1361 return 0;
1362 }
1363
1369
1373 return 0;
1374
1384
1388
1401
1402
1413 FIXME(
"support for MCI_ command %04x not implemented\n", wMsg);
1414 return 0;
1415 }
1416
1418 {
1419 FIXME(
"support for MCIWNDM_ message WM_USER+%d not implemented\n", wMsg -
WM_USER);
1420 return 0;
1421 }
1422
1425
1427}
static const char * wine_dbgstr_rect(const RECT *prc)
static const WCHAR nameW[]
#define MCI_DGV_PUT_DESTINATION
#define MCI_DGV_PUT_SOURCE
#define MCI_DGV_UPDATE_HDC
#define MCI_DGV_UPDATE_PAINT
#define MCI_DGV_WINDOW_HWND
#define MCI_DGV_WHERE_SOURCE
#define MCI_DGV_PLAY_REVERSE
#define MCI_DGV_WHERE_DESTINATION
static __inline const char * debugstr_an(const char *s, int n)
INT WINAPI GetPrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR def_val, LPWSTR buffer, UINT len, LPCWSTR filename)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
static wchar_t * wcsdup(const wchar_t *str)
static LRESULT mci_get_devcaps(MCIWndInfo *mwi, UINT cap)
static void MCIWND_notify_size(MCIWndInfo *mwi)
static void MCIWND_notify_error(MCIWndInfo *mwi)
static LRESULT MCIWND_Create(HWND hWnd, LPCREATESTRUCTW cs)
static LRESULT MCIWND_Command(MCIWndInfo *mwi, WPARAM wParam, LPARAM lParam)
static LRESULT MCIWND_KeyDown(MCIWndInfo *mwi, UINT key)
static void MCIWND_notify_media(MCIWndInfo *mwi)
static MCIERROR mci_generic_command(MCIWndInfo *mwi, UINT cmd)
LRESULT WINAPI SendDriverMessage(HDRVR hDriver, UINT msg, LPARAM lParam1, LPARAM lParam2)
HDRVR WINAPI OpenDriver(LPCWSTR lpDriverName, LPCWSTR lpSectionName, LPARAM lParam)
LRESULT WINAPI CloseDriver(HDRVR hDrvr, LPARAM lParam1, LPARAM lParam2)
DWORD WINAPI mciSendCommandA(MCIDEVICEID wDevID, UINT wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet, UINT uRetLen, HWND hwndCallback)
BOOL WINAPI mciGetErrorStringA(MCIERROR dwError, LPSTR lpstrBuffer, UINT uLength)
DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet, UINT uRetLen, HWND hwndCallback)
BOOL WINAPI mciGetErrorStringW(MCIERROR wError, LPWSTR lpstrBuffer, UINT uLength)
GLuint GLsizei GLsizei * length
#define memcpy(s1, s2, n)
#define MCI_DEVTYPE_VIDEODISC
#define MCI_GETDEVCAPS_CAN_SAVE
#define MCI_STATUS_POSITION
#define DRV_QUERYCONFIGURE
#define MCI_GETDEVCAPS_CAN_RECORD
#define MCI_GETDEVCAPS_DEVICE_TYPE
#define MCI_DEVTYPE_ANIMATION
#define MCI_VD_PLAY_REVERSE
#define MCI_SET_DOOR_OPEN
#define MCI_GETDEVCAPS_CAN_PLAY
#define MCI_GETDEVCAPS_CAN_EJECT
#define MCI_DEVTYPE_DIGITAL_VIDEO
#define MCI_STATUS_LENGTH
#define MCI_SYSINFO_INSTALLNAME
#define MCI_ANIM_PLAY_REVERSE
#define MCI_DEVTYPE_OVERLAY
#define MCI_SEEK_TO_START
#define MCI_STATUS_TIME_FORMAT
static const WCHAR stringW[]
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
#define GetWindowLongPtrW
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI AdjustWindowRect(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
LRESULT WINAPI DefMDIChildProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
int WINAPIV wsprintfA(_Out_ LPSTR, _In_ _Printf_format_string_ LPCSTR,...)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
#define MB_ICONEXCLAMATION
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
BOOL WINAPI DestroyWindow(_In_ HWND)
#define MCIWNDM_GETLENGTH
#define MCIWNDM_GETPOSITIONA
#define MCIWNDM_GETTIMEFORMATW
#define MCIWNDM_GETERRORA
#define MCIWNDM_GETDEVICEW
#define MCIWNDM_GETPALETTE
#define MCIWNDM_SETACTIVETIMER
#define MCIWNDM_GET_SOURCE
#define MCIWNDM_CHANGESTYLES
#define MCIWNDM_PLAYREVERSE
#define MCIWNDM_PALETTEKICK
#define MCIWNDM_SETVOLUME
#define MCIWNDM_GETSTYLES
#define MCIWNDM_GETFILENAMEW
#define MCIWNDM_CAN_WINDOW
#define MCIWNDM_CAN_RECORD
#define MCIWNDM_SETREPEAT
#define MCIWNDM_GETACTIVETIMER
#define MCIWNDF_NOERRORDLG
#define MCIWNDM_GETERRORW
#define MCIWNDM_GETINACTIVETIMER
#define MCIWNDF_NOAUTOSIZEMOVIE
#define MCIWNDF_NOAUTOSIZEWINDOW
#define MCIWNDM_GETTIMEFORMATA
#define MCIWNDM_SETINACTIVETIMER
#define MCIWNDM_GETDEVICEA
#define MCIWNDM_CAN_CONFIG
#define MCIWNDM_OPENINTERFACE
#define MCIWNDM_SETTIMEFORMATA
#define MCIWNDM_SETTIMEFORMATW
#define MCIWNDM_RETURNSTRINGA
#define MCIWNDM_CAN_EJECT
#define MCIWNDM_GETVOLUME
#define MCIWNDM_GETFILENAMEA
#define MCIWNDM_GETDEVICEID
#define MCIWNDM_PUT_SOURCE
#define MCIWNDM_SENDSTRINGA
#define MCIWNDM_VALIDATEMEDIA
#define MCIWNDM_GETREPEAT
#define MCIWNDM_SETTIMERS
#define MCIWNDM_RETURNSTRINGW
#define MCIWNDM_SENDSTRINGW
#define MCIWNDM_SETPALETTE