Jörg Höhle : mciavi: Complete MCI GetDevCaps/ capability.
Alexandre Julliard
julliard at winehq.org
Fri Dec 18 10:49:10 CST 2009
Module: wine
Branch: master
Commit: e03b59c6a1097f13f3ff249c5131d294cf443f31
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e03b59c6a1097f13f3ff249c5131d294cf443f31
Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date: Sat Nov 28 07:09:56 2009 +0100
mciavi: Complete MCI GetDevCaps/capability.
The FIXME comments indicate flags where Wine differs from native w2k.
The returned results are consistent with what Wine implements.
---
dlls/mciavi32/info.c | 47 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/dlls/mciavi32/info.c b/dlls/mciavi32/info.c
index 64d51eb..e10bfd0 100644
--- a/dlls/mciavi32/info.c
+++ b/dlls/mciavi32/info.c
@@ -80,6 +80,7 @@ DWORD MCIAVI_mciGetDevCaps(UINT wDevID, DWORD dwFlags, LPMCI_GETDEVCAPS_PARMS l
if (lpParms == NULL) return MCIERR_NULL_PARAMETER_BLOCK;
if (wma == NULL) return MCIERR_INVALID_DEVICE_ID;
+ if (!(dwFlags & MCI_GETDEVCAPS_ITEM)) return MCIERR_MISSING_PARAMETER;
EnterCriticalSection(&wma->cs);
@@ -130,14 +131,52 @@ DWORD MCIAVI_mciGetDevCaps(UINT wDevID, DWORD dwFlags, LPMCI_GETDEVCAPS_PARMS l
lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE);
ret = MCI_RESOURCE_RETURNED;
break;
+ case MCI_DGV_GETDEVCAPS_CAN_REVERSE:
+ TRACE("MCI_DGV_GETDEVCAPS_CAN_REVERSE !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ case MCI_DGV_GETDEVCAPS_CAN_STRETCH:
+ TRACE("MCI_DGV_GETDEVCAPS_CAN_STRETCH !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ case MCI_DGV_GETDEVCAPS_CAN_LOCK:
+ TRACE("MCI_DGV_GETDEVCAPS_CAN_LOCK !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE);
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ case MCI_DGV_GETDEVCAPS_CAN_FREEZE:
+ TRACE("MCI_DGV_GETDEVCAPS_CAN_FREEZE !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE);
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ case MCI_DGV_GETDEVCAPS_CAN_STR_IN:
+ TRACE("MCI_DGV_GETDEVCAPS_CAN_STRETCH_INPUT !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE);
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ case MCI_DGV_GETDEVCAPS_HAS_STILL:
+ TRACE("MCI_DGV_GETDEVCAPS_HAS_STILL !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE);
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ case MCI_DGV_GETDEVCAPS_CAN_TEST:
+ TRACE("MCI_DGV_GETDEVCAPS_CAN_TEST !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ case MCI_DGV_GETDEVCAPS_PALETTES:
+ TRACE("MCI_DGV_GETDEVCAPS_PALETTES !\n");
+ lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */
+ ret = MCI_RESOURCE_RETURNED;
+ break;
+ /* w2k does not know MAX_WINDOWS or MAX/MINIMUM_RATE */
default:
FIXME("Unknown capability (%08x) !\n", lpParms->dwItem);
- ret = MCIERR_UNRECOGNIZED_COMMAND;
+ ret = MCIERR_UNSUPPORTED_FUNCTION;
break;
}
- } else {
- WARN("No GetDevCaps-Item !\n");
- ret = MCIERR_UNRECOGNIZED_COMMAND;
}
LeaveCriticalSection(&wma->cs);
More information about the wine-cvs
mailing list