446{
448
450
454
455 switch (wMsg)
456 {
459 break;
460
464
467
469
473 break;
474
476 {
479
481
485
487 return 1;
488 }
489
492
495
498 {
501 }
502 break;
503
506 return 0;
507
512
514 {
516
523 }
525 break;
526
530 return 0;
531
533 {
538 }
539
541 {
548 static const WCHAR formatW[] = {
'%',
'd',0};
549 static const WCHAR mci32W[] = {
'm',
'c',
'i',
'3',
'2',0};
550 static const WCHAR system_iniW[] = {
's',
'y',
's',
't',
'e',
'm',
'.',
'i',
'n',
'i',0};
551
553
555 {
557 goto end_of_mci_open;
558 }
559
561 {
564 }
565
568
576
578 {
579
580 static const WCHAR caption[] = {
'M',
'C',
'I',
' ',
'E',
'r',
'r',
'o',
'r',0};
582
586 goto end_of_mci_open;
587 }
588
591
594
596
602 {
604 goto end_of_mci_open;
605 }
606
608
609 drv_name[0] = 0;
614
616 {
618
624 {
626 goto end_of_mci_open;
627 }
628 }
629
631 {
632 mwi->
size.
cx = rc.right - rc.left;
633 mwi->
size.
cy = rc.bottom - rc.top;
634
638 }
639 else
640 {
642 rc.bottom = rc.top;
643 }
644
646 rc.bottom += 32;
650
655
657
658end_of_mci_open:
662 }
663
665 TRACE(
"MCIWNDM_GETDEVICEID\n");
667
669 TRACE(
"MCIWNDM_GETALIAS\n");
671
673 {
675
680 {
683 }
686 return 0;
687 }
688
690 {
692
697 {
700 }
703 return 0;
704 }
705
707 {
709
716 {
719 }
720 return 0;
721 }
722
724 {
726
729
734 {
737 }
738 return 0;
739 }
740
742 {
744
750 {
752 return 0;
753 }
756 }
757
759 {
761
767 {
769 return 0;
770 }
773 }
774
776 {
778
783 }
784
787 {
789
790 TRACE(
"MCIWNDM_GETPOSITION\n");
791
792
794 {
796 {
798
801 }
802 else
803 {
804
806 static const WCHAR formatW[] = {
's',
't',
'a',
't',
'u',
's',
' ',
'%',
'd',
' ',
'p',
'o',
's',
'i',
't',
'i',
'o',
'n',0};
807
810 }
811
813 return 0;
814 }
815
821 return 0;
822
824 }
825
828 {
830
831 TRACE(
"MCIWNDM_GETMODE\n");
832
835
836
838 {
840 {
842
845 }
846 else
847 {
848
850 static const WCHAR formatW[] = {
's',
't',
'a',
't',
'u',
's',
' ',
'%',
'd',
' ',
'm',
'o',
'd',
'e',0};
851
854 }
855
858 }
859
866
868 }
869
871 {
873
875
882 {
885 }
886
889 return 0;
890 }
891
893 {
895
897
904 {
907 }
908
911 return 0;
912 }
913
915 {
918
920
924 {
925 default:
928 break;
929
932 break;
933
934#ifdef MCI_VCR_PLAY_REVERSE
936 flags |= MCI_VCR_PLAY_REVERSE;
937 break;
938#endif
939
942 break;
943
944 }
948 {
951 }
952
955 return 0;
956 }
957
962
967
971 return 0;
972
974 {
976
978
981 }
982
984 {
986
988
991 {
992 static const WCHAR formatW[] = {
'%',
'd',
' ',0};
994
997
999
1003 }
1004 else
1006
1011
1014
1017
1020 }
1021
1026
1031
1033 TRACE(
"MCIWNDM_SETTIMERS active %d ms, inactive %d ms\n", (
int)
wParam, (
int)
lParam);
1036 return 0;
1037
1039 TRACE(
"MCIWNDM_SETACTIVETIMER %d ms\n", (
int)
wParam);
1041 return 0;
1042
1044 TRACE(
"MCIWNDM_SETINACTIVETIMER %d ms\n", (
int)
wParam);
1046 return 0;
1047
1051
1055
1058
1059
1060
1063 return 0;
1064
1066 TRACE(
"MCIWNDM_GETSTYLES: %08x\n", mwi->
dwStyle & 0xffff);
1068
1070 {
1074
1082 return 0;
1083 }
1084
1086 {
1090
1098 return 0;
1099 }
1100
1102 TRACE(
"MCIWNDM_VALIDATEMEDIA\n");
1104 {
1107 }
1108 return 0;
1109
1114 return 0;
1115
1120 return 0;
1121
1124 {
1126
1128
1129
1131 {
1133 {
1135
1139 return 0;
1140 }
1141 else
1142 {
1144 static const WCHAR formatW[] = {
's',
't',
'a',
't',
'u',
's',
' ',
'%',
'd',
' ',
't',
'i',
'm',
'e',
' ',
'f',
'o',
'r',
'm',
'a',
't',0};
1145
1149 return 0;
1150 }
1151 }
1152
1158 return 0;
1159
1161 }
1162
1164 {
1166
1168
1171 }
1172
1174 {
1175 static const WCHAR formatW[] = {
's',
'e',
't',
' ',
'%',
'd',
' ',
't',
'i',
'm',
'e',
' ',
'f',
'o',
'r',
'm',
'a',
't',
' ',0};
1177
1179
1181 {
1185
1187
1188
1192
1194 }
1195
1198
1199 return 0;
1200 }
1201
1203 TRACE(
"MCIWNDM_CAN_PLAY\n");
1206 return 0;
1207
1209 TRACE(
"MCIWNDM_CAN_RECORD\n");
1212 return 0;
1213
1215 TRACE(
"MCIWNDM_CAN_SAVE\n");
1218 return 0;
1219
1221 TRACE(
"MCIWNDM_CAN_EJECT\n");
1224 return 0;
1225
1227 TRACE(
"MCIWNDM_CAN_WINDOW\n");
1229 {
1233 return 1;
1234 }
1235 return 0;
1236
1238 TRACE(
"MCIWNDM_CAN_CONFIG\n");
1241 return 0;
1242
1246
1248 {
1250
1254
1260 }
1261 return 0;
1262
1264 TRACE(
"MCIWNDM_GETZOOM: %d\n", mwi->
zoom);
1266
1268 {
1270
1271 TRACE(
"MCIWNDM_EJECT\n");
1272
1280 }
1281
1295 FIXME(
"support for MCIWNDM_ message WM_USER+%d not implemented\n", wMsg -
WM_USER);
1296 return 0;
1297
1299 {
1302 }
1303
1306 {
1311
1316 {
1319 }
1320
1322 return 0;
1323 }
1324
1326 {
1329
1331 {
1334 }
1335
1337 {
1342 }
1343
1346
1350
1358
1360 return 0;
1361 }
1362
1368
1372 return 0;
1373
1383
1387
1400
1401
1412 FIXME(
"support for MCI_ command %04x not implemented\n", wMsg);
1413 return 0;
1414 }
1415
1417 {
1418 FIXME(
"support for MCIWNDM_ message WM_USER+%d not implemented\n", wMsg -
WM_USER);
1419 return 0;
1420 }
1421
1424
1426}
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)
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)
static const WCHAR stringW[]
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
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
#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
#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)