mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-30 12:23:28 +00:00
Sync to Wine-20040716:
Henning Gerhardt <[email protected]> - More German translations. Hajime Segawa <[email protected]> - Added some Japanese translations. Dimitrie O. Paun <[email protected]> - Lookup driver information in registry and system.ini. - Make the code inspect the registry/system.ini at call time, rather then initialization time. - Code cleanups. svn path=/trunk/; revision=10435
This commit is contained in:
@@ -29,12 +29,15 @@
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "winreg.h"
|
||||
#include "mmddk.h"
|
||||
#include "winemm.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(driver);
|
||||
|
||||
#define HKLM_BASE "Software\\Microsoft\\Windows NT\\CurrentVersion"
|
||||
|
||||
static LPWINE_DRIVER lpDrvItemList /* = NULL */;
|
||||
|
||||
WINE_MMTHREAD* (*pFnGetMMThread16)(UINT16 h) /* = NULL */;
|
||||
@@ -206,7 +209,21 @@ static BOOL DRIVER_AddToList(LPWINE_DRIVER lpNewDrv, LPARAM lParam1, LPARAM lPar
|
||||
*/
|
||||
BOOL DRIVER_GetLibName(LPCSTR keyName, LPCSTR sectName, LPSTR buf, int sz)
|
||||
{
|
||||
/* should also do some registry diving */
|
||||
HKEY hKey, hSecKey;
|
||||
DWORD bufLen, lRet;
|
||||
|
||||
lRet = RegOpenKeyExA(HKEY_LOCAL_MACHINE, HKLM_BASE, 0, KEY_QUERY_VALUE, &hKey);
|
||||
if (lRet == ERROR_SUCCESS) {
|
||||
lRet = RegOpenKeyExA(hKey, sectName, 0, KEY_QUERY_VALUE, &hSecKey);
|
||||
if (lRet == ERROR_SUCCESS) {
|
||||
lRet = RegQueryValueExA(hSecKey, keyName, 0, 0, buf, &bufLen);
|
||||
RegCloseKey( hSecKey );
|
||||
}
|
||||
RegCloseKey( hKey );
|
||||
}
|
||||
if (lRet == ERROR_SUCCESS) return TRUE;
|
||||
/* default to system.ini if we can't find it in the registry,
|
||||
* to support native installations where system.ini is still used */
|
||||
return GetPrivateProfileStringA(sectName, keyName, "", buf, sz, "SYSTEM.INI");
|
||||
}
|
||||
|
||||
|
||||
+57
-92
@@ -57,9 +57,6 @@
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mci);
|
||||
|
||||
static int MCI_InstalledCount;
|
||||
static LPSTR MCI_lpInstallNames /* = NULL */;
|
||||
|
||||
WINMM_MapType (*pFnMciMapMsg16To32A) (WORD,WORD,DWORD*) /* = NULL */;
|
||||
WINMM_MapType (*pFnMciUnMapMsg16To32A)(WORD,WORD,DWORD) /* = NULL */;
|
||||
WINMM_MapType (*pFnMciMapMsg32ATo16) (WORD,WORD,DWORD,DWORD*) /* = NULL */;
|
||||
@@ -68,6 +65,9 @@ WINMM_MapType (*pFnMciUnMapMsg32ATo16)(WORD,WORD,DWORD,DWORD) /* = NULL */;
|
||||
/* First MCI valid device ID (0 means error) */
|
||||
#define MCI_MAGIC 0x0001
|
||||
|
||||
/* MCI settings */
|
||||
#define HKLM_MCI "Software\\Microsoft\\Windows NT\\CurrentVersion\\MCI"
|
||||
|
||||
/* dup a string and uppercase it */
|
||||
inline static LPSTR str_dup_upper( LPCSTR str )
|
||||
{
|
||||
@@ -1435,8 +1435,10 @@ DWORD MCI_WriteString(LPSTR lpDstStr, DWORD dstSize, LPCSTR lpSrcStr)
|
||||
*/
|
||||
static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParms)
|
||||
{
|
||||
DWORD ret = MCIERR_INVALID_DEVICE_ID;
|
||||
DWORD ret = MCIERR_INVALID_DEVICE_ID, cnt = 0;
|
||||
CHAR buf[2048], *s = buf, *p;
|
||||
LPWINE_MCIDRIVER wmd;
|
||||
HKEY hKey;
|
||||
|
||||
if (lpParms == NULL) return MCIERR_NULL_PARAMETER_BLOCK;
|
||||
|
||||
@@ -1445,41 +1447,39 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParm
|
||||
|
||||
switch (dwFlags & ~MCI_SYSINFO_OPEN) {
|
||||
case MCI_SYSINFO_QUANTITY:
|
||||
{
|
||||
DWORD cnt = 0;
|
||||
|
||||
if (lpParms->wDeviceType < MCI_DEVTYPE_FIRST ||
|
||||
lpParms->wDeviceType > MCI_DEVTYPE_LAST) {
|
||||
if (dwFlags & MCI_SYSINFO_OPEN) {
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of open MCI drivers\n");
|
||||
EnterCriticalSection(&WINMM_IData->cs);
|
||||
for (wmd = WINMM_IData->lpMciDrvs; wmd; wmd = wmd->lpNext) {
|
||||
cnt++;
|
||||
}
|
||||
LeaveCriticalSection(&WINMM_IData->cs);
|
||||
} else {
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of installed MCI drivers\n");
|
||||
cnt = MCI_InstalledCount;
|
||||
if (lpParms->wDeviceType < MCI_DEVTYPE_FIRST || lpParms->wDeviceType > MCI_DEVTYPE_LAST) {
|
||||
if (dwFlags & MCI_SYSINFO_OPEN) {
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of open MCI drivers\n");
|
||||
EnterCriticalSection(&WINMM_IData->cs);
|
||||
for (wmd = WINMM_IData->lpMciDrvs; wmd; wmd = wmd->lpNext) {
|
||||
cnt++;
|
||||
}
|
||||
LeaveCriticalSection(&WINMM_IData->cs);
|
||||
} else {
|
||||
if (dwFlags & MCI_SYSINFO_OPEN) {
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of open MCI drivers of type %u\n",
|
||||
lpParms->wDeviceType);
|
||||
EnterCriticalSection(&WINMM_IData->cs);
|
||||
for (wmd = WINMM_IData->lpMciDrvs; wmd; wmd = wmd->lpNext) {
|
||||
if (wmd->wType == lpParms->wDeviceType)
|
||||
cnt++;
|
||||
}
|
||||
LeaveCriticalSection(&WINMM_IData->cs);
|
||||
} else {
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of installed MCI drivers of type %u\n",
|
||||
lpParms->wDeviceType);
|
||||
FIXME("Don't know how to get # of MCI devices of a given type\n");
|
||||
cnt = 1;
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of installed MCI drivers\n");
|
||||
if (RegOpenKeyExA( HKEY_LOCAL_MACHINE, HKLM_MCI,
|
||||
0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS) {
|
||||
RegQueryInfoKeyA( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
|
||||
RegCloseKey( hKey );
|
||||
}
|
||||
if (GetPrivateProfileStringA("mci", 0, "", buf, sizeof(buf), "system.ini"))
|
||||
for(s = buf; *s; s += strlen(s) + 1) cnt++;
|
||||
}
|
||||
} else {
|
||||
if (dwFlags & MCI_SYSINFO_OPEN) {
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of open MCI drivers of type %u\n", lpParms->wDeviceType);
|
||||
EnterCriticalSection(&WINMM_IData->cs);
|
||||
for (wmd = WINMM_IData->lpMciDrvs; wmd; wmd = wmd->lpNext) {
|
||||
if (wmd->wType == lpParms->wDeviceType) cnt++;
|
||||
}
|
||||
LeaveCriticalSection(&WINMM_IData->cs);
|
||||
} else {
|
||||
TRACE("MCI_SYSINFO_QUANTITY: # of installed MCI drivers of type %u\n", lpParms->wDeviceType);
|
||||
FIXME("Don't know how to get # of MCI devices of a given type\n");
|
||||
cnt = 1;
|
||||
}
|
||||
*(DWORD*)lpParms->lpstrReturn = cnt;
|
||||
}
|
||||
*(DWORD*)lpParms->lpstrReturn = cnt;
|
||||
TRACE("(%ld) => '%ld'\n", lpParms->dwNumber, *(DWORD*)lpParms->lpstrReturn);
|
||||
ret = MCI_INTEGER_RETURNED;
|
||||
break;
|
||||
@@ -1499,14 +1499,30 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParm
|
||||
if (dwFlags & MCI_SYSINFO_OPEN) {
|
||||
FIXME("Don't handle MCI_SYSINFO_NAME|MCI_SYSINFO_OPEN (yet)\n");
|
||||
ret = MCIERR_UNRECOGNIZED_COMMAND;
|
||||
} else if (lpParms->dwNumber > MCI_InstalledCount) {
|
||||
ret = MCIERR_OUTOFRANGE;
|
||||
} else {
|
||||
DWORD count = lpParms->dwNumber;
|
||||
LPSTR ptr = MCI_lpInstallNames;
|
||||
|
||||
while (--count > 0) ptr += strlen(ptr) + 1;
|
||||
ret = MCI_WriteString(lpParms->lpstrReturn, lpParms->dwRetSize, ptr);
|
||||
DWORD lRet;
|
||||
s = 0;
|
||||
lRet = RegOpenKeyExA( HKEY_LOCAL_MACHINE, HKLM_MCI, 0, KEY_QUERY_VALUE, &hKey );
|
||||
if (lRet == ERROR_SUCCESS) {
|
||||
lRet = RegQueryInfoKeyA( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
|
||||
if (lRet == ERROR_SUCCESS && lpParms->dwNumber <= cnt) {
|
||||
DWORD bufLen = sizeof(buf);
|
||||
lRet = RegEnumKeyExA(hKey, lpParms->dwNumber - 1, buf, &bufLen, 0, 0, 0, 0);
|
||||
if (lRet == ERROR_SUCCESS) s = buf;
|
||||
}
|
||||
RegCloseKey( hKey );
|
||||
}
|
||||
if (!s) {
|
||||
if (GetPrivateProfileStringA("mci", 0, "", buf, sizeof(buf), "system.ini")) {
|
||||
for(p = buf; *p; p += strlen(s) + 1, cnt++) {
|
||||
if (cnt == lpParms->dwNumber - 1) {
|
||||
s = p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ret = s ? MCI_WriteString(lpParms->lpstrReturn, lpParms->dwRetSize, s) : MCIERR_OUTOFRANGE;
|
||||
}
|
||||
TRACE("(%ld) => '%s'\n", lpParms->dwNumber, lpParms->lpstrReturn);
|
||||
break;
|
||||
@@ -1724,54 +1740,3 @@ LRESULT MCI_CleanUp(LRESULT dwRet, UINT wMsg, DWORD dwParam2)
|
||||
}
|
||||
return LOWORD(dwRet);
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* MCI_Init [internal]
|
||||
*
|
||||
* Initializes the MCI internal variables.
|
||||
*
|
||||
*/
|
||||
BOOL MCI_Init(void)
|
||||
{
|
||||
LPSTR ptr1, ptr2;
|
||||
HKEY hWineConf;
|
||||
HKEY hkey;
|
||||
DWORD err;
|
||||
DWORD type;
|
||||
DWORD count = 2048;
|
||||
|
||||
MCI_InstalledCount = 0;
|
||||
ptr1 = MCI_lpInstallNames = HeapAlloc(GetProcessHeap(), 0, count);
|
||||
|
||||
if (!MCI_lpInstallNames)
|
||||
return FALSE;
|
||||
|
||||
/* FIXME: should do also some registry diving here ? */
|
||||
if (!(err = RegOpenKeyA(HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config", &hWineConf)) &&
|
||||
!(err = RegOpenKeyA(hWineConf, "options", &hkey))) {
|
||||
err = RegQueryValueExA(hkey, "mci", 0, &type, MCI_lpInstallNames, &count);
|
||||
RegCloseKey(hkey);
|
||||
|
||||
}
|
||||
if (!err) {
|
||||
TRACE("Wine => '%s' \n", ptr1);
|
||||
while ((ptr2 = strchr(ptr1, ':')) != 0) {
|
||||
*ptr2++ = 0;
|
||||
TRACE("---> '%s' \n", ptr1);
|
||||
MCI_InstalledCount++;
|
||||
ptr1 = ptr2;
|
||||
}
|
||||
MCI_InstalledCount++;
|
||||
TRACE("---> '%s' \n", ptr1);
|
||||
ptr1 += strlen(ptr1) + 1;
|
||||
} else {
|
||||
GetPrivateProfileStringA("mci", NULL, "", MCI_lpInstallNames, count, "SYSTEM.INI");
|
||||
while (strlen(ptr1) > 0) {
|
||||
TRACE("---> '%s' \n", ptr1);
|
||||
ptr1 += strlen(ptr1) + 1;
|
||||
MCI_InstalledCount++;
|
||||
}
|
||||
}
|
||||
RegCloseKey(hWineConf);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ RCS file: /home/wine/wine/dlls/winmm/lolvldrv.c,v
|
||||
retrieving revision 1.58
|
||||
diff -u -r1.58 lolvldrv.c
|
||||
--- lolvldrv.c 1 Jun 2004 19:40:48 -0000 1.58
|
||||
+++ lolvldrv.c 16 Jun 2004 18:56:14 -0000
|
||||
+++ lolvldrv.c 8 Aug 2004 21:46:41 -0000
|
||||
@@ -510,10 +510,12 @@
|
||||
case DRV_QUERYDEVICEINTERFACESIZE:
|
||||
return MMDRV_Message(mld, uMsg, dwParam1, dwParam2, TRUE);
|
||||
@@ -45,7 +45,7 @@ RCS file: /home/wine/wine/dlls/winmm/time.c,v
|
||||
retrieving revision 1.26
|
||||
diff -u -r1.26 time.c
|
||||
--- time.c 12 Jan 2004 21:03:10 -0000 1.26
|
||||
+++ time.c 16 Jun 2004 18:56:14 -0000
|
||||
+++ time.c 8 Aug 2004 21:46:42 -0000
|
||||
@@ -175,14 +175,19 @@
|
||||
volatile HANDLE *pActive = (volatile HANDLE *)&TIME_hMMTimer;
|
||||
DWORD last_time, cur_time;
|
||||
@@ -69,11 +69,22 @@ diff -u -r1.26 time.c
|
||||
Index: winmm.c
|
||||
===================================================================
|
||||
RCS file: /home/wine/wine/dlls/winmm/winmm.c,v
|
||||
retrieving revision 1.37
|
||||
diff -u -r1.37 winmm.c
|
||||
--- winmm.c 14 Jun 2004 16:53:59 -0000 1.37
|
||||
+++ winmm.c 16 Jun 2004 18:56:15 -0000
|
||||
@@ -126,10 +126,12 @@
|
||||
retrieving revision 1.38
|
||||
diff -u -r1.38 winmm.c
|
||||
--- winmm.c 30 Jun 2004 18:12:20 -0000 1.38
|
||||
+++ winmm.c 8 Aug 2004 21:46:43 -0000
|
||||
@@ -102,8 +102,9 @@
|
||||
* inside WINMM_IData */
|
||||
CloseHandle(WINMM_IData->psStopEvent);
|
||||
CloseHandle(WINMM_IData->psLastEvent);
|
||||
+ WINMM_IData->cs.DebugInfo = NULL;
|
||||
DeleteCriticalSection(&WINMM_IData->cs);
|
||||
- HeapFree(GetProcessHeap(), 0, WINMM_IData);
|
||||
+ HeapFree(GetProcessHeap(), 0, WINMM_IData);
|
||||
WINMM_IData = NULL;
|
||||
}
|
||||
}
|
||||
@@ -126,10 +127,12 @@
|
||||
loaded = -1;
|
||||
if (h)
|
||||
{
|
||||
@@ -86,3 +97,139 @@ diff -u -r1.37 winmm.c
|
||||
loaded = 1;
|
||||
}
|
||||
}
|
||||
@@ -2658,6 +2661,7 @@
|
||||
WAVEHDR* lpWaveOutHdr, UINT uSize)
|
||||
{
|
||||
LPWINE_MLD wmld;
|
||||
+ UINT result;
|
||||
|
||||
TRACE("(%p, %p, %u);\n", hWaveOut, lpWaveOutHdr, uSize);
|
||||
|
||||
@@ -2667,7 +2671,17 @@
|
||||
if ((wmld = MMDRV_Get(hWaveOut, MMDRV_WAVEOUT, FALSE)) == NULL)
|
||||
return MMSYSERR_INVALHANDLE;
|
||||
|
||||
- return MMDRV_Message(wmld, WODM_PREPARE, (DWORD_PTR)lpWaveOutHdr, uSize, TRUE);
|
||||
+ if ((result = MMDRV_Message(wmld, WODM_PREPARE, (DWORD_PTR)lpWaveOutHdr,
|
||||
+ uSize, TRUE)) != MMSYSERR_NOTSUPPORTED)
|
||||
+ return result;
|
||||
+
|
||||
+ if (lpWaveOutHdr->dwFlags & WHDR_INQUEUE)
|
||||
+ return WAVERR_STILLPLAYING;
|
||||
+
|
||||
+ lpWaveOutHdr->dwFlags |= WHDR_PREPARED;
|
||||
+ lpWaveOutHdr->dwFlags &= ~WHDR_DONE;
|
||||
+
|
||||
+ return MMSYSERR_NOERROR;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
@@ -2677,6 +2691,7 @@
|
||||
LPWAVEHDR lpWaveOutHdr, UINT uSize)
|
||||
{
|
||||
LPWINE_MLD wmld;
|
||||
+ UINT result;
|
||||
|
||||
TRACE("(%p, %p, %u);\n", hWaveOut, lpWaveOutHdr, uSize);
|
||||
|
||||
@@ -2690,7 +2705,17 @@
|
||||
if ((wmld = MMDRV_Get(hWaveOut, MMDRV_WAVEOUT, FALSE)) == NULL)
|
||||
return MMSYSERR_INVALHANDLE;
|
||||
|
||||
- return MMDRV_Message(wmld, WODM_UNPREPARE, (DWORD_PTR)lpWaveOutHdr, uSize, TRUE);
|
||||
+ if ((result = MMDRV_Message(wmld, WODM_UNPREPARE, (DWORD_PTR)lpWaveOutHdr,
|
||||
+ uSize, TRUE)) != MMSYSERR_NOTSUPPORTED)
|
||||
+ return result;
|
||||
+
|
||||
+ if (lpWaveOutHdr->dwFlags & WHDR_INQUEUE)
|
||||
+ return WAVERR_STILLPLAYING;
|
||||
+
|
||||
+ lpWaveOutHdr->dwFlags &= ~WHDR_PREPARED;
|
||||
+ lpWaveOutHdr->dwFlags |= WHDR_DONE;
|
||||
+
|
||||
+ return MMSYSERR_NOERROR;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
@@ -3173,4 +3198,50 @@
|
||||
|
||||
|
||||
return MMDRV_Message(wmld, uMessage, dwParam1, dwParam2, TRUE);
|
||||
+}
|
||||
+
|
||||
+struct mm_starter
|
||||
+{
|
||||
+ LPTASKCALLBACK cb;
|
||||
+ DWORD client;
|
||||
+ HANDLE event;
|
||||
+};
|
||||
+
|
||||
+DWORD WINAPI mmTaskRun(void* pmt)
|
||||
+{
|
||||
+ struct mm_starter mms;
|
||||
+
|
||||
+ memcpy(&mms, pmt, sizeof(struct mm_starter));
|
||||
+ HeapFree(GetProcessHeap(), 0, pmt);
|
||||
+ mms.cb(mms.client);
|
||||
+ if (mms.event) SetEvent(mms.event);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+MMRESULT WINAPI mmTaskCreate(LPTASKCALLBACK cb, HANDLE* ph, DWORD client)
|
||||
+{
|
||||
+ HANDLE hThread;
|
||||
+ HANDLE hEvent;
|
||||
+ struct mm_starter *mms;
|
||||
+
|
||||
+ mms = HeapAlloc(GetProcessHeap(), 0, sizeof(struct mm_starter));
|
||||
+ if (mms == NULL) { return TASKERR_OUTOFMEMORY; }
|
||||
+
|
||||
+ mms->cb = cb;
|
||||
+ mms->client = client;
|
||||
+ if (ph) {
|
||||
+ mms->event = hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
|
||||
+ } else {
|
||||
+ mms->event = NULL;
|
||||
+ }
|
||||
+
|
||||
+ hThread = CreateThread(0, 0, mmTaskRun, (LPVOID)mms, 0, NULL);
|
||||
+ if (!hThread) {
|
||||
+ HeapFree(GetProcessHeap(), 0, mms);
|
||||
+ CloseHandle(hEvent);
|
||||
+ return TASKERR_OUTOFMEMORY;
|
||||
+ }
|
||||
+ if (ph) *ph = hEvent;
|
||||
+ CloseHandle(hThread);
|
||||
+ return 0;
|
||||
}
|
||||
Index: winmm.spec
|
||||
===================================================================
|
||||
RCS file: /home/wine/wine/dlls/winmm/winmm.spec,v
|
||||
retrieving revision 1.20
|
||||
diff -u -r1.20 winmm.spec
|
||||
--- winmm.spec 15 Sep 2003 20:13:30 -0000 1.20
|
||||
+++ winmm.spec 8 Aug 2004 21:46:43 -0000
|
||||
@@ -135,6 +135,7 @@
|
||||
@ stdcall mmioStringToFOURCCW(wstr long)
|
||||
@ stdcall mmioWrite(long ptr long)
|
||||
@ stdcall mmsystemGetVersion()
|
||||
+@ stdcall mmTaskCreate(ptr ptr long)
|
||||
@ stdcall sndPlaySoundA(ptr long)
|
||||
@ stdcall sndPlaySoundW(ptr long)
|
||||
@ stdcall timeBeginPeriod(long)
|
||||
Index: winmm_res.rc
|
||||
===================================================================
|
||||
RCS file: /home/wine/wine/dlls/winmm/winmm_res.rc,v
|
||||
retrieving revision 1.15
|
||||
diff -u -r1.15 winmm_res.rc
|
||||
--- winmm_res.rc 13 Jul 2004 23:36:37 -0000 1.15
|
||||
+++ winmm_res.rc 8 Aug 2004 21:46:43 -0000
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "winmm_Es.rc"
|
||||
#include "winmm_Fr.rc"
|
||||
#include "winmm_It.rc"
|
||||
-#include "winmm_Ja.rc"
|
||||
+/* #include "winmm_Ja.rc" */ /* Gives error during ReactOS build */
|
||||
#include "winmm_Nl.rc"
|
||||
#include "winmm_Pt.rc"
|
||||
#include "winmm_Ru.rc"
|
||||
|
||||
@@ -243,7 +243,6 @@ BOOL MMDRV_Is32(unsigned int);
|
||||
void MMDRV_InstallMap(unsigned int, MMDRV_MAPFUNC, MMDRV_UNMAPFUNC,
|
||||
MMDRV_MAPFUNC, MMDRV_UNMAPFUNC, LPDRVCALLBACK);
|
||||
|
||||
BOOL MCI_Init(void);
|
||||
WINE_MCIDRIVER* MCI_GetDriver(UINT16 uDevID);
|
||||
UINT MCI_GetDriverFromString(LPCSTR str);
|
||||
DWORD MCI_WriteString(LPSTR lpDstStr, DWORD dstSize, LPCSTR lpSrcStr);
|
||||
|
||||
@@ -185,7 +185,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID fImpLoad)
|
||||
|
||||
if (!WINMM_CreateIData(hInstDLL))
|
||||
return FALSE;
|
||||
if (!MCI_Init() || !MMDRV_Init()) {
|
||||
if (!MMDRV_Init()) {
|
||||
WINMM_DeleteIData();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
* Copyright 2004 Henning Gerhardt
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
|
||||
BEGIN
|
||||
|
||||
/* MMSYS errors */
|
||||
MMSYSERR_NOERROR, "Der angeforderte Befehl wurde ausgeführt."
|
||||
MMSYSERR_ERROR, "Unbekannter externer Fehler."
|
||||
MMSYSERR_BADDEVICEID, "Die derzeit verwendete Gerätekennung ist außerhalb des zulässigen Bereichs für Ihr System."
|
||||
MMSYSERR_NOTENABLED, "Der Treiber konnte nicht gestartet werden."
|
||||
MMSYSERR_ALLOCATED, "Das Gerät wird bereits verwendet. Warten Sie, bis es freigegeben ist, und versuchen Sie es erneut."
|
||||
MMSYSERR_INVALHANDLE, "Das angegebende Gerätehandle ist ungültig."
|
||||
MMSYSERR_NODRIVER, "Es ist kein Treiber auf Ihrem System installiert !\n"
|
||||
MMSYSERR_NOMEM, "Nicht genügend Speicher für diesen Befehl. Beenden Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut."
|
||||
MMSYSERR_NOTSUPPORTED, "Diese Funktion wird nicht unterstützt. Benutzen Sie die Funktion 'Capabilities', um zu ermitteln, welche Funktion dieser Treiber unterstützt."
|
||||
MMSYSERR_BADERRNUM, "Die angegebene Fehlernummer ist für dieses System nicht definiert."
|
||||
MMSYSERR_INVALFLAG, "Ein ungültiges Flag wurde an eine Systemfunktion übergeben."
|
||||
MMSYSERR_INVALPARAM, "Ein ungültiger Parameter wurde an eine Systemfunktion übergeben."
|
||||
|
||||
/* WAVE errors */
|
||||
WAVERR_BADFORMAT, "Dieses Format wird nicht unterstützt oder kann nicht übersetzt werden. Benutzen Sie die Funktion 'Capabilities', um die unterstützten Formate zu ermitteln."
|
||||
WAVERR_STILLPLAYING, "Die Funktion kann nicht durchgeführt werden, wenn noch Mediendateien wiedergegeben werden. Starten Sie das Gerät neu, oder warten Sie bis keine Daten mehr wiedergegeben werden."
|
||||
WAVERR_UNPREPARED, "Der WAVE - Header wurde nicht vorbereitet. Benutzen Sie die Funktion 'Prepare' zum Vorbereiten des Headers und versuchen Sie es erneut."
|
||||
WAVERR_SYNC, "Das Gerät kann nicht ohne das WAVE_ALLOWSYNC - Flag geöffnet werden. Benutzen Sie dieses Flag und versuchen Sie es erneut."
|
||||
|
||||
/* MIDI errors */
|
||||
MIDIERR_UNPREPARED, "Der MIDI - Header wurde nicht vorbereitet. Benutzen Sie die Funktion 'Prepare' zum Vorbereiten des Headers und versuchen Sie es erneut."
|
||||
MIDIERR_STILLPLAYING, "Die Funktion kann nicht durchgeführt werden, wenn noch Mediendateien wiedergegeben werden. Starten Sie das Gerät neu, oder warten Sie bis keine Daten mehr wiedergegeben werden."
|
||||
MIDIERR_NOMAP, "Es wurde keine MIDI - Map gefunden. Es könnte ein Problem mit dem Treiber geben oder die Datei MIDIMAP.CFG fehlt oder ist beschädigt."
|
||||
MIDIERR_NOTREADY, "Der Anschluss ist mit der Datenausgabe belegt. Warten Sie, bis die Daten übertragen wurden und versuchen Sie es erneut."
|
||||
MIDIERR_NODEVICE, "Das gegenwärtige MIDI - Mapper Setup benutzt ein MIDI - Gerät, das nicht installiert ist. Benutzen Sie den MIDI - Mapper, um das Setup zu ändern."
|
||||
MIDIERR_INVALIDSETUP, "Das aktuelle MIDI Setup ist beschädigt. Kopieren sie die ursprüngliche Datei MIDIMAP.CFG ind das Windows - Systemverzeichnis und versuchen Sie es erneut."
|
||||
|
||||
/* MCI errors */
|
||||
MCIERR_INVALID_DEVICE_ID, "Ungültige MCI - Gerätekennung. Benutzen Sie die zurückgegebene ID, wenn Sie das MCI - Gerät öffnen."
|
||||
MCIERR_UNRECOGNIZED_KEYWORD, "Der Treiber kann den angegebenen Befehlsparameter nicht anerkennen."
|
||||
MCIERR_UNRECOGNIZED_COMMAND, "Der Treiber kann den angegebenen Befehl nicht anerkennen."
|
||||
MCIERR_HARDWARE, "Es gibt ein Problem mit Ihrem Media - Gerät. Stellen Sie sicher, dass es richtig arbeitet oder fragen Sie den Gerätehersteller."
|
||||
MCIERR_INVALID_DEVICE_NAME, "Das angegebene Gerät ist nicht geöffnet oder wird vom MCI nicht erkannt."
|
||||
MCIERR_OUT_OF_MEMORY, "Nicht genügend Speicher für den angeforderten Vorgang. \nBeenden Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut."
|
||||
MCIERR_DEVICE_OPEN, "Der Gerätename wird von dieser Anwendung bereits als Alias benutzt. Benutzen Sie einen eindeutigen Alias"
|
||||
MCIERR_CANNOT_LOAD_DRIVER, "Es gibt ein unbekanntes Problem beim Laden des angegebenen Gerätetreibers."
|
||||
MCIERR_MISSING_COMMAND_STRING, "Kein Befehl wurde angegeben."
|
||||
MCIERR_PARAM_OVERFLOW, "Die Ausgabezeichenkennte war zu lang für den Rückgabepuffer. Erhöhen Sie die Puffergröße."
|
||||
MCIERR_MISSING_STRING_ARGUMENT, "Der Befehl erfordert einen Zeichenkettenparameter. Bitte stellen Sie einen bereit."
|
||||
MCIERR_BAD_INTEGER, "Die Angabe einer ganzen Zahl ist für diesen Befehl ungültig."
|
||||
MCIERR_PARSER_INTERNAL, "Der Gerätetreiber hat einen ungültigen Rückgabewert geliefert. Fragen Sie den Gerätehersteller nach einem neuen Treiber."
|
||||
MCIERR_DRIVER_INTERNAL, "Ein Treiberfehler ist aufgetreten. Fragen Sie den Gerätehersteller nach einem neuen Treiber."
|
||||
MCIERR_MISSING_PARAMETER, "Der angegebene Befehl erfordert einen Parameter. Bitte geben Sie einen an."
|
||||
MCIERR_UNSUPPORTED_FUNCTION, "Das verwendete MCI - Gerät unterstützt diesen Befehl nicht."
|
||||
MCIERR_FILE_NOT_FOUND, "Die angeforderte Datei wurde nicht gefunden. Stellen Sie sicher, dass Pfad- und Dateiname richtig sind."
|
||||
MCIERR_DEVICE_NOT_READY, "Der Gerätetreiber ist nicht bereit."
|
||||
MCIERR_INTERNAL, "Ein Fehler ereignete sich beim Starten von MCI. Versuche Windows neu zu starten."
|
||||
MCIERR_DRIVER, "Es gibt ein Problem mit dem Gerätetreiber. Der Treiber wird geschlossen. Ein Fehler kann nicht gemeldet werden."
|
||||
MCIERR_CANNOT_USE_ALL, "Der Gerätename 'all' ist nicht in diesem Befehl erlaubt."
|
||||
MCIERR_MULTIPLE, "Es traten Fehler in mehr als einem Gerät auf. Geben Sie jeden Befehl für jedes Gerät einzeln an, um zu bestimmen, welches Gerät die Fehler verursachte."
|
||||
MCIERR_EXTENSION_NOT_FOUND, "Kann keinen Gerätetyp aus der angegebenen Dateinamenerweiterung ermitteln."
|
||||
MCIERR_OUTOFRANGE, "Der angegebene Paramter liegt außerhalb des zulässigen Bereichs für diesen Befehl."
|
||||
MCIERR_FLAGS_NOT_COMPATIBLE, "Die Paramter können nicht zusammen verwendet werden."
|
||||
MCIERR_FILE_NOT_SAVED, "Die Datei kann nicht gespeichert werden. Stellen Sie sicher, dass genügend Platz auf dem Datenträger verfügbar ist oder Ihre Netzwerkverbindung noch besteht."
|
||||
MCIERR_DEVICE_TYPE_REQUIRED, "Das angegebene Gerät wurde nicht gefunden. Stellen Sie sicher, dass es installiert ist oder der Gerätename richtig geschrieben ist."
|
||||
MCIERR_DEVICE_LOCKED, "Das angegebene Gerät wird geschlossen. Warten Sie einige Sekunden, und versuchen Sie es erneut."
|
||||
MCIERR_DUPLICATE_ALIAS, "Der angegebene Alias wird von dieser Anwendung bereits verwendet. Wählen Sie einen eindeutigen Alias."
|
||||
MCIERR_BAD_CONSTANT, "Der angegebene Parameter für diesen Befehl ungültig."
|
||||
MCIERR_MUST_USE_SHAREABLE, "Das Gerät ist bereits geöffnet. Benutzen Sie den 'shareable' - Parameter bei jedem 'open' - Befehl."
|
||||
MCIERR_MISSING_DEVICE_NAME, "Der angegebene Befehl erfordert einen Alias-, Datei-, Treiber- oder Gerätenamen. Bitte geben Sie einen an."
|
||||
MCIERR_BAD_TIME_FORMAT, "Der angegebene Wert für das Zeitformat ist ungültig. Lesen Sie in der MCI - Dokumentation nach gültigen Formaten nach."
|
||||
MCIERR_NO_CLOSING_QUOTE, "Ein abschließendes Anführungszeichen fehlt im Parameter. Bitte geben Sie eins an."
|
||||
MCIERR_DUPLICATE_FLAGS, "Ein Parameter oder Wert wurde zweimal angegeben. Geben Sie in nur einzeln an."
|
||||
MCIERR_INVALID_FILE, "Die angegebene Datei kann auf dem MCI - Gerät nicht wiedergegeben werden. Die Datei ist wahrscheinlich beschädigt oder in einem ungültigen Format."
|
||||
MCIERR_NULL_PARAMETER_BLOCK, "Der Parameterblock, der zu MCI übergeben wurde, war NULL."
|
||||
MCIERR_UNNAMED_RESOURCE, "Es kann keine unbenannte Datei gespeichert werden. Geben Sie einen Dateinamen an."
|
||||
MCIERR_NEW_REQUIRES_ALIAS, "Sie müssen einen Alias mit dem 'new' - Parameter angeben."
|
||||
MCIERR_NOTIFY_ON_AUTO_OPEN, "Das 'notify' Flag ist unzulässig für selbstöffnende Geräte."
|
||||
MCIERR_NO_ELEMENT_ALLOWED, "Ein Dateiname kann mit diesem Gerät nicht verwendet werden."
|
||||
MCIERR_NONAPPLICABLE_FUNCTION, "Die Befehle sind in der angegebenen Reihenfolge nicht ausführbar. Ändern Sie die Reihenfolge, und versuchen Sie es erneut."
|
||||
MCIERR_ILLEGAL_FOR_AUTO_OPEN, "Der Befehl kann nicht auf ein selbstöffnedes Gerät angewandt werden. Warten Sie, bis das Gerät geschlossen wurde und versuchen Sie es erneut."
|
||||
MCIERR_FILENAME_REQUIRED, "Der Dateiname ist ungültig. Der Dateiname muss aus maximal 8 Zeichen, gefolgt von einem Punkt und einer Dateinamenerweiterung bestehen."
|
||||
MCIERR_EXTRA_CHARACTERS, "Zusätzliche Zeichen nach einer Zeichenkette mit Anführungszeichen sind nicht erlaubt."
|
||||
MCIERR_DEVICE_NOT_INSTALLED, "Das angegebene Gerät ist nicht auf Ihren System installiert. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um das Gerät zu installieren."
|
||||
MCIERR_GET_CD, "Auf die angegebene Datei oder das MCI - Gerät kann nicht zugegriffen werden. Versuchen Sie, das Verzeichnis zu wechseln oder das System neu zu starten."
|
||||
MCIERR_SET_CD, "Auf die angegebene Datei oder das MCI - Gerät kann nicht zugegriffen werden, weil die Anwendung nicht das Verzeichnis wechseln kann."
|
||||
MCIERR_SET_DRIVE, "Auf die angegebene Datei oder das MCI - Gerät kann nicht zugegriffen werden, weil die Anwendung nicht das Laufwerk wechseln kann."
|
||||
MCIERR_DEVICE_LENGTH, "Geben Sie einen Geräte- oder Treibernamen mit weniger als 79 Zeichen an."
|
||||
MCIERR_DEVICE_ORD_LENGTH, "Geben Sie einen Geräte- oder Treibernamen mit weniger als 69 Zeichen an."
|
||||
MCIERR_NO_INTEGER, "Der angegebene Befehl erfordert einen ganzzahligen Parameter. Bitte geben Sie einen an."
|
||||
MCIERR_WAVE_OUTPUTSINUSE, "Alle Waveformgeräte, die diese Dateien in dem gegenwärtigen Format wiedergeben könnten, sind in Benutzung. Warten Sie, bis ein Waveformgerät frei ist, und wiederholen Sie den Vorgang."
|
||||
MCIERR_WAVE_SETOUTPUTINUSE, "Das gegenwärtige Waveformgerät kann nicht wiedergeben, weil es gerade benutzt wird. Warten Sie, bis das Gerät frei ist, und wiederholen Sie den Vorgang."
|
||||
MCIERR_WAVE_INPUTSINUSE, "Es ist kein Waveformgerät frei, das das gegenwärtige Format aufzeichnen könnte. Warten Sie, bis ein Waveformgerät frei ist, und wiederholen Sie den Vorgang."
|
||||
MCIERR_WAVE_SETINPUTINUSE, "Das gegenwärtige Waveformgerät kann nicht aufzeichnen, weil es gerade verwendet wird. Warten Sie, bis das Gerät frei ist, und wiederholen Sie den Vorgang."
|
||||
MCIERR_WAVE_OUTPUTUNSPECIFIED, "Jedes kompatible Waveform - Wiedergabegerät kann verwendet werden."
|
||||
MCIERR_WAVE_INPUTUNSPECIFIED, "Jedes kompatible Waveform - Aufnahmegerät kann verwendet werden."
|
||||
MCIERR_WAVE_OUTPUTSUNSUITABLE, "Es ist kein Waveformgerät installiert, das Dateien im aktuellen Format wiedergeben kann. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um ein Waveformgerät zu installieren."
|
||||
MCIERR_WAVE_SETOUTPUTUNSUITABLE,"Das Wiedergabegerät erkennt das gegenwärtige Dateiformat nicht."
|
||||
MCIERR_WAVE_INPUTSUNSUITABLE, "Es ist kein Waveformgerät installiert, das Dateien im aktuellen Format aufnehmen kann. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um ein Waveformgerät zu installieren."
|
||||
MCIERR_WAVE_SETINPUTUNSUITABLE, "Das Gerät, mit dem Sie aufzeichnen möchten, erkennt das gegenwärtige Dateiformat nicht."
|
||||
MCIERR_NO_WINDOW, "Es gibt kein Anzeigefenster."
|
||||
MCIERR_CREATEWINDOW, "Fenster konnte nicht erzeugt oder verwendet werden."
|
||||
MCIERR_FILE_READ, "Die Datei konnte nicht gelesen werden. Stellen Sie sicher, dass die Datei existiert oder Ihre Netzwerkverbindung noch besteht."
|
||||
MCIERR_FILE_WRITE, "Die Datei konnte nicht geschrieben werden. Stellen Sie sicher, dass genügend Platz auf dem Datenträger verfügbar ist, oder dass die Netzwerkverbindung noch besteht."
|
||||
MCIERR_SEQ_DIV_INCOMPATIBLE, "Die Zeitformate von ""song pointer"" und SMPTE schliessen sich gegenseitig aus. Sie können sie nicht zusammen verwenden."
|
||||
MCIERR_SEQ_NOMIDIPRESENT, "Es sind keine MIDI - Geräte auf dem System installiert. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um einen MIDI - Treiber zu installieren."
|
||||
MCIERR_SEQ_PORT_INUSE, "Der angegebene MIDI - Anschluss wird bereits verwendet. Warten Sie bis der Anschluss frei ist, und versuchen Sie es erneut."
|
||||
MCIERR_SEQ_PORT_MAPNODEVICE, "Das gegenwärtige MIDI - Mapper Setup benutzt ein MIDI - Gerät, dass nicht auf Ihren System installiert ist. Benutzen Sie den MIDI - Mapper in der Systemsteuerung, um das Setup zu ändern."
|
||||
MCIERR_SEQ_PORT_MISCERROR, "Beim Benutzen des angegebenen Anschlusses trat ein Fehler auf."
|
||||
MCIERR_SEQ_PORT_NONEXISTENT, "Es sind keine angegebnen MIDI - Geräte auf dem System installiert. Benutzen Sie die Hardwareerkennung in der Systemsteuerung, um ein MIDI - Gerät zu installieren."
|
||||
MCIERR_SEQ_PORTUNSPECIFIED, "Es gibt keinen aktuellen MIDI - Anschluss auf dem System."
|
||||
MCIERR_SEQ_TIMER, "Alle Multimediazeitgeber werden von anderen Anwendungen verwendet. Beenden Sie eine dieser Anwendungen, und versuchen Sie es erneut."
|
||||
|
||||
END
|
||||
@@ -0,0 +1,126 @@
|
||||
/*
|
||||
* Copyright 2004 Hajime Segawa
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
STRINGTABLE LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL
|
||||
BEGIN
|
||||
|
||||
/* MMSYS errors */
|
||||
MMSYSERR_NOERROR, "指定されたコマンドを実行できませんでした。"
|
||||
MMSYSERR_ERROR, "不明な外部エラーです。"
|
||||
MMSYSERR_BADDEVICEID, "無効なデバイスIDです。"
|
||||
MMSYSERR_NOTENABLED, "ドライバが有効になっていません。"
|
||||
MMSYSERR_ALLOCATED, "指定されたデバイスは使用中です。デバイスが解放されるまで待ってからやり直して下さい。"
|
||||
MMSYSERR_INVALHANDLE, "無効なデバイスハンドルです。"
|
||||
MMSYSERR_NODRIVER, "システムにドライバがインストールされていません!\n"
|
||||
MMSYSERR_NOMEM, "この操作を実行するためのメモリが不足しています。いくつかのアプリケーションを終了して空きメモリを増やしてやり直して下さい。"
|
||||
MMSYSERR_NOTSUPPORTED, "この機能はサポートされていません。Capabilities関数を使用してドライバがサポートする機能とメッセージを確認して下さい。"
|
||||
MMSYSERR_BADERRNUM, "指定されたエラー番号は定義されていません。"
|
||||
MMSYSERR_INVALFLAG, "システム関数に無効なフラグが渡されました。"
|
||||
MMSYSERR_INVALPARAM, "システム関数に無効なパラメータが渡されました。"
|
||||
|
||||
/* WAVE errors */
|
||||
WAVERR_BADFORMAT, "指定されたフォーマットはサポートされていないか、解釈できません。Capabilities関数を使用してサポートされているフォーマットを確認して下さい。"
|
||||
WAVERR_STILLPLAYING, "メディア再生中にはこの操作を実行できません。デバイスをリセットするか再生が終わるまで待って下さい。"
|
||||
WAVERR_UNPREPARED, "waveヘッダが準備されていません。Prepare関数を使用してヘッダを準備してやり直して下さい。"
|
||||
WAVERR_SYNC, "WAVE_ALLOWSYNCフラグなしではデバイスをオープンできません。フラグを指定してやり直して下さい。"
|
||||
|
||||
/* MIDI errors */
|
||||
MIDIERR_UNPREPARED, "MIDIヘッダが準備されていません。Prepare関数を使用してヘッダを準備してやり直して下さい。"
|
||||
MIDIERR_STILLPLAYING, "メディア再生中にはこの操作を実行できません。デバイスをリセットするか再生が終わるまで待って下さい。"
|
||||
MIDIERR_NOMAP, "MIDIマップが見つかりません。ドライバの問題か、MIDIMAP.CFGファイルが破損しているか存在しない可能性があります。"
|
||||
MIDIERR_NOTREADY, "ポートはデバイスにデータを送信中です。データの送信が終わるまで待ってからやり直して下さい。"
|
||||
MIDIERR_NODEVICE, "MIDIマッパの設定がシステムに装着されていないデバイスを参照しています。設定を変更するにはコントロールパネルの「MIDIマッパ」アプレットを使用して下さい。"
|
||||
MIDIERR_INVALIDSETUP, "MIDIの設定が破損しています。オリジナルのMIDIMAP.CFGファイルをWindowsのSYSTEMディレクトリからコピーしてやり直して下さい。"
|
||||
|
||||
/* MCI errors */
|
||||
MCIERR_INVALID_DEVICE_ID, "無効なMCIデバイスIDです。MCIデバイスをオープンしたときに返されたIDを使用して下さい。"
|
||||
MCIERR_UNRECOGNIZED_KEYWORD, "ドライバは指定されたコマンドのパラメータを認識できませんでした。"
|
||||
MCIERR_UNRECOGNIZED_COMMAND, "ドライバは指定されたコマンドを認識できませんでした。"
|
||||
MCIERR_HARDWARE, "メディアデバイスに問題が発生しました。デバイスが正常に動作しているか確認するか、製造元に問い合わせて下さい。"
|
||||
MCIERR_INVALID_DEVICE_NAME, "指定されたデバイスはオープンされていないか、MCIに認識されていません。"
|
||||
MCIERR_OUT_OF_MEMORY, "この操作を実行するためのメモリが不足しています。\nいくつかのアプリケーションを終了して空きメモリを増やしてやり直して下さい。"
|
||||
MCIERR_DEVICE_OPEN, "デバイス名はこのアプリケーションによってエイリアスとして使用されています。独自のエイリアスを使用して下さい。"
|
||||
MCIERR_CANNOT_LOAD_DRIVER, "指定されたデバイスドライバのロード中に不明なエラーが発生しました。"
|
||||
MCIERR_MISSING_COMMAND_STRING, "コマンドが指定されていません。"
|
||||
MCIERR_PARAM_OVERFLOW, "出力された文字列がバッファに入り切りません。バッファのサイズを増やして下さい。"
|
||||
MCIERR_MISSING_STRING_ARGUMENT, "指定されたコマンドには文字列のパラメータが必要です。"
|
||||
MCIERR_BAD_INTEGER, "指定された整数値はこのコマンドには無効です。"
|
||||
MCIERR_PARSER_INTERNAL, "デバイスドライバが無効な形式の値を返しました。製造元に新しいドライバが無いか問い合わせて下さい。"
|
||||
MCIERR_DRIVER_INTERNAL, "デバイスドライバに問題が発生しました。製造元に新しいドライバが無いか問い合わせて下さい。"
|
||||
MCIERR_MISSING_PARAMETER, "指定されたコマンドにはパラメータが必要です。"
|
||||
MCIERR_UNSUPPORTED_FUNCTION, "使用しているMCIデバイスは指定されたコマンドをサポートしていません。"
|
||||
MCIERR_FILE_NOT_FOUND, "指定されたファイルは見つかりません。ファイル名とパスを確認して下さい。"
|
||||
MCIERR_DEVICE_NOT_READY, "デバイスドライバの準備ができていません。"
|
||||
MCIERR_INTERNAL, "MCIの初期化中に問題が発生しました。Windowsを再起動して下さい。"
|
||||
MCIERR_DRIVER, "デバイスドライバに問題が発生しました。ドライバはクローズされています。エラーにアクセスできません。"
|
||||
MCIERR_CANNOT_USE_ALL, "指定されたコマンドは「all」をデバイス名として使用することができません。"
|
||||
MCIERR_MULTIPLE, "複数のデバイスでエラーが発生しました。どのデバイスでエラーが発生したか確認するには、コマンドとデバイスを別個に指定して下さい。"
|
||||
MCIERR_EXTENSION_NOT_FOUND, "指定されたファイルの拡張子からデバイスの種類を特定できません。"
|
||||
MCIERR_OUTOFRANGE, "指定されたコマンドに対して指定されたパラメータは範囲外です。"
|
||||
MCIERR_FLAGS_NOT_COMPATIBLE, "指定されたパラメータは同時に使用できません。"
|
||||
MCIERR_FILE_NOT_SAVED, "指定されたファイルは保存できませんでした。ディスクに十分な空き容量があるか、あるいはネットワークに接続されているか確認して下さい。"
|
||||
MCIERR_DEVICE_TYPE_REQUIRED, "指定されたデバイスは見つかりませんでした。デバイスが装着されていて、デバイス名のつづりが正しいか確認して下さい。"
|
||||
MCIERR_DEVICE_LOCKED, "指定されたデバイスはクローズ処理中です。数秒待ってからやり直して下さい。"
|
||||
MCIERR_DUPLICATE_ALIAS, "指定されたエイリアスはこのアプリケーションによってエイリアスとして使用されています。独自のエイリアスを使用して下さい。"
|
||||
MCIERR_BAD_CONSTANT, "指定されたパラメータはこのコマンドには無効です。"
|
||||
MCIERR_MUST_USE_SHAREABLE, "デバイスドライバは使用中です。デバイスを共有するには「open」コマンドごとに「shareable」パラメータを指定して下さい。"
|
||||
MCIERR_MISSING_DEVICE_NAME, "指定されたコマンドにはエイリアス、ファイル、ドライバまたはデバイス名を指定する必要があります。"
|
||||
MCIERR_BAD_TIME_FORMAT, "指定された時間のフォーマットが無効です。使用できるフォーマットに関してはMCIのドキュメントを参照して下さい。"
|
||||
MCIERR_NO_CLOSING_QUOTE, "ダブルクオーテーションが閉じていません。"
|
||||
MCIERR_DUPLICATE_FLAGS, "パラメータが二重に指定されています。"
|
||||
MCIERR_INVALID_FILE, "指定されたファイルは指定されたMCIデバイスでは再生できません。ファイルが破損しているか、フォーマットが不正です。"
|
||||
MCIERR_NULL_PARAMETER_BLOCK, "ヌルパラメータがMCIに渡されました。"
|
||||
MCIERR_UNNAMED_RESOURCE, "ファイル名が指定されていないため保存できません。ファイル名を指定して下さい。"
|
||||
MCIERR_NEW_REQUIRES_ALIAS, "「new」パラメータを使用する場合はエイリアスを指定する必要があります。"
|
||||
MCIERR_NOTIFY_ON_AUTO_OPEN, "オートオープンされたデバイスに「notify」フラグを使用することはできません。"
|
||||
MCIERR_NO_ELEMENT_ALLOWED, "指定されたデバイスに対してファイル名を使用することはできません。"
|
||||
MCIERR_NONAPPLICABLE_FUNCTION, "指定された順序でコマンドを実行できません。コマンドシーケンスを修正してやり直して下さい。"
|
||||
MCIERR_ILLEGAL_FOR_AUTO_OPEN, "オートオープンされたデバイスに対して指定されたコマンドを実行できません。デバイスがクローズするまで待ってからやり直して下さい。"
|
||||
MCIERR_FILENAME_REQUIRED, "ファイル名が無効です。ファイル名が半角8文字以内で、ピリオドに続いて拡張子が付いていることを確認して下さい。"
|
||||
MCIERR_EXTRA_CHARACTERS, "クオーテーションマークに囲われた文字列に続く余分な文字を特定できません。"
|
||||
MCIERR_DEVICE_NOT_INSTALLED, "指定されたデバイスはインストールされていません。デバイスをインストールするにはコントロールパネル内の「ハードウェアの追加と削除」アプレットを使用して下さい。"
|
||||
MCIERR_GET_CD, "指定されたファイルまたはMCIデバイスにアクセスできません。ディレクトリを変更するか、コンピュータを再起動して下さい。"
|
||||
MCIERR_SET_CD, "アプリケーションがディレクトリを変更できないため、指定されたファイルまたはMCIデバイスにアクセスできません。"
|
||||
MCIERR_SET_DRIVE, "アプリケーションがドライブを変更できないため、指定されたファイルまたはMCIデバイスにアクセスできません。"
|
||||
MCIERR_DEVICE_LENGTH, "デバイス名またはドライバ名は半角79文字以内で指定して下さい。"
|
||||
MCIERR_DEVICE_ORD_LENGTH, "デバイス名またはドライバ名は半角69文字以内で指定して下さい。"
|
||||
MCIERR_NO_INTEGER, "指定されたコマンドには整数値のパラメータが必要です。"
|
||||
MCIERR_WAVE_OUTPUTSINUSE, "ファイルを現在のフォーマットで再生できるwaveデバイスは全て使用中です。デバイスが解放されるまで待ってからやり直して下さい。"
|
||||
MCIERR_WAVE_SETOUTPUTINUSE, "現在のwaveデバイスは使用中なので再生モードに設定できません。デバイスが解放されるまで待ってからやり直して下さい。"
|
||||
MCIERR_WAVE_INPUTSINUSE, "現在のフォーマットで録音が可能な全てのwaveデバイスは使用中です。デバイスが解放されるまで待ってからやり直して下さい。"
|
||||
MCIERR_WAVE_SETINPUTINUSE, "現在のwaveデバイスは使用中なので録音モードに設定できません。デバイスが解放されるまで待ってからやり直して下さい。"
|
||||
MCIERR_WAVE_OUTPUTUNSPECIFIED, "互換性のある再生デバイスのどれかが使用されます。"
|
||||
MCIERR_WAVE_INPUTUNSPECIFIED, "互換性のある録音デバイスのどれかが使用されます。"
|
||||
MCIERR_WAVE_OUTPUTSUNSUITABLE, "現在のフォーマットでファイルを再生できるwaveデバイスはインストールされていません。waveデバイスをインストールするにはコントロールパネル内の「ハードウェアの追加と削除」アプレットを使用して下さい。"
|
||||
MCIERR_WAVE_SETOUTPUTUNSUITABLE,"再生しようとしているデバイスは現在のファイルフォーマットを認識できません。"
|
||||
MCIERR_WAVE_INPUTSUNSUITABLE, "現在のフォーマットでファイルを録音できるwaveデバイスはインストールされていません。waveデバイスをインストールするにはコントロールパネル内の「ハードウェアの追加と削除」アプレットを使用して下さい。"
|
||||
MCIERR_WAVE_SETINPUTUNSUITABLE, "録音しようとしているデバイスは現在のファイルフォーマットを認識できません。"
|
||||
MCIERR_NO_WINDOW, "表示ウィンドウがありません。"
|
||||
MCIERR_CREATEWINDOW, "ウィンドウの作成または使用ができません。"
|
||||
MCIERR_FILE_READ, "指定したファイルを読み込めません。ファイルが存在するか確認して下さい、あるいはディスクかネットワーク接続を確認して下さい。"
|
||||
MCIERR_FILE_WRITE, "指定されたファイルに書き込めません。ディスクに十分な空き容量があるか、あるいはネットワークに接続されているか確認して下さい。"
|
||||
MCIERR_SEQ_DIV_INCOMPATIBLE, "「ソングポインタ」とSMPTEの時間フォーマットを同時に使用することはできません。"
|
||||
MCIERR_SEQ_NOMIDIPRESENT, "MIDIデバイスはインストールされていません。MIDIドライバをインストールするにはコントロールパネル内の「ハードウェアの追加と削除」アプレットを使用して下さい。"
|
||||
MCIERR_SEQ_PORT_INUSE, "指定されたMIDIポートは使用中です。MIDIポートが開放されるまで待ってからやり直して下さい。"
|
||||
MCIERR_SEQ_PORT_MAPNODEVICE, "MIDIマッパの設定がシステムに装着されていないデバイスを参照しています。設定を変更するにはコントロールパネルの「MIDIマッパ」アプレットを使用して下さい。"
|
||||
MCIERR_SEQ_PORT_MISCERROR, "指定されたポートでエラーが発生しました。"
|
||||
MCIERR_SEQ_PORT_NONEXISTENT, "指定されたMIDIデバイスはシステムに装着されていません。MIDIデバイスをインストールするにはコントロールパネル内の「ハードウェアの追加と削除」アプレットを使用して下さい。"
|
||||
MCIERR_SEQ_PORTUNSPECIFIED, "システムに現在のMIDIポートが指定されていません。"
|
||||
MCIERR_SEQ_TIMER, "全てのマルチメディアタイマは他のアプリケーションによって使用されています。タイマを使用しているアプリケーションを一つ終了してからやり直して下さい。"
|
||||
|
||||
END
|
||||
@@ -28,12 +28,14 @@
|
||||
#include "winnls.h"
|
||||
|
||||
/* Add your language specific defines here */
|
||||
#include "winmm_De.rc"
|
||||
#include "winmm_En.rc"
|
||||
#include "winmm_Es.rc"
|
||||
#include "winmm_Fr.rc"
|
||||
#include "winmm_It.rc"
|
||||
/* #include "winmm_Ja.rc" */ /* Gives error during ReactOS build */
|
||||
#include "winmm_Nl.rc"
|
||||
#include "winmm_Pt.rc"
|
||||
#include "winmm_Es.rc"
|
||||
#include "winmm_Ru.rc"
|
||||
#include "winmm_Si.rc"
|
||||
#include "winmm_Sk.rc"
|
||||
|
||||
Reference in New Issue
Block a user