62 HKEY hUserKey, hRegSnd, hRegApp, hScheme, hSnd;
68 bIsDefault = (
_wcsicmp(lpszName,
L"SystemDefault") == 0);
71 bIsDefault ?
L"Default" : lpszName,
134 bIsDefault ?
L".Default" : lpszName,
247 pszName =
L"SystemAsterisk";
249 pszName =
L"SystemDefault";
251 pszName =
L"SystemExclamation";
253 pszName =
L"SystemExit";
255 pszName =
L"SystemHand";
257 pszName =
L"SystemQuestion";
259 pszName =
L"SystemStart";
261 pszName =
L"SystemWelcome";
270 bIsDefault = (
_wcsicmp(pszName,
L"SystemDefault") == 0);
300 else if (!bIsDefault)
327 TRACE(
"Returning waveHdr=%lx\n", dwParam1);
331 ERR(
"Unknown uMsg=%d\n", uMsg);
390 if (bIsString && !bUnicode)
396 pszSoundW = usBuffer.
Buffer;
400 pszSoundW = pszSound;
415 if (bIsString && !bUnicode)
438 TRACE(
"ParentChunk ckid=%.4s fccType=%.4s cksize=%08X\n",
449 TRACE(
"Chunk Found ckid=%.4s fccType=%08x cksize=%08X\n",
473 TRACE(
"Chunk Found ckid=%.4s fccType=%08x cksize=%08X\n",
517 if (
count < 1)
break;
525 ERR(
"Aborting play loop, waveOutWrite error\n");
531 }
while (wps->
bLoop);
540 TRACE(
"Done playing sound => %s!\n", bRet ?
"ok" :
"ko");
591 TRACE(
"pszSound='%p' hmod=%p fdwSound=%08X\n",
592 pszSound,
hmod, fdwSound);
628 if (!wps)
return TRUE;
679 TRACE(
"3.10 (Win95?)\n");
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define RegCloseKey(hKey)
LONG WINAPI RegOpenCurrentUser(IN REGSAM samDesired, OUT PHKEY phkResult)
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define HeapFree(x, y, z)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
DWORD WINAPI SearchPathW(IN LPCWSTR lpPath OPTIONAL, IN LPCWSTR lpFileName, IN LPCWSTR lpExtension OPTIONAL, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart OPTIONAL)
BOOL WINAPI SetThreadPriority(IN HANDLE hThread, IN int nPriority)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
INT WINAPI GetProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR def_val, LPWSTR buffer, UINT len)
BOOL WINAPI FreeResource(HGLOBAL handle)
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
LPVOID WINAPI LockResource(HGLOBAL handle)
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
MMRESULT WINAPI mmioAscend(HMMIO hmmio, LPMMCKINFO lpck, UINT uFlags)
LONG WINAPI mmioSeek(HMMIO hmmio, LONG lOffset, INT iOrigin)
MMRESULT WINAPI mmioClose(HMMIO hmmio, UINT uFlags)
MMRESULT WINAPI mmioDescend(HMMIO hmmio, LPMMCKINFO lpck, const MMCKINFO *lpckParent, UINT uFlags)
LONG WINAPI mmioRead(HMMIO hmmio, HPSTR pch, LONG cch)
HMMIO WINAPI mmioOpenW(LPWSTR szFileName, MMIOINFO *lpmmioinfo, DWORD dwOpenFlags)
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLuint GLsizei bufsize
#define WAVERR_STILLPLAYING
struct wavehdr_tag WAVEHDR
#define SND_ALIAS_SYSTEMEXCLAMATION
#define SND_ALIAS_SYSTEMSTART
#define SND_ALIAS_SYSTEMDEFAULT
#define SND_ALIAS_SYSTEMHAND
#define SND_ALIAS_SYSTEMEXIT
#define SND_ALIAS_SYSTEMWELCOME
#define mmioFOURCC(c0, c1, c2, c3)
#define SND_ALIAS_SYSTEMQUESTION
#define CALLBACK_FUNCTION
#define SND_ALIAS_SYSTEMASTERISK
#define ERROR_FILE_NOT_FOUND
static PEXPLICIT_ACCESSW *static HMODULE hmod
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
BOOL WINAPI sndPlaySoundW(LPCWSTR pszSound, UINT uFlags)
static WINE_PLAYSOUND * PlaySoundCurrent
static DWORD WINAPI PlaySoundAsyncThreadProc(LPVOID lpParameter)
static void CALLBACK PlaySound_Callback(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
static BOOL proc_PlaySound(WINE_PLAYSOUND *wps)
struct tagWINE_PLAYSOUND WINE_PLAYSOUND
static HMMIO get_mmioFromFile(LPCWSTR lpszName)
BOOL WINAPI PlaySoundW(LPCWSTR pszSoundW, HMODULE hmod, DWORD fdwSound)
UINT WINAPI mmsystemGetVersion(void)
static void PlaySound_Free(WINE_PLAYSOUND *wps)
static BOOL MULTIMEDIA_PlaySound(const void *pszSound, HMODULE hmod, DWORD fdwSound, BOOL bUnicode)
static WINE_PLAYSOUND * PlaySound_AllocAndGetMMIO(const void *pszSound, HMODULE hmod, DWORD fdwSound, BOOL bUnicode)
BOOL WINAPI sndPlaySoundA(LPCSTR pszSoundA, UINT uFlags)
static HMMIO PlaySound_GetMMIO(LPCWSTR pszSound, HMODULE hMod, DWORD fdwSound)
BOOL WINAPI PlaySoundA(LPCSTR pszSoundA, HMODULE hmod, DWORD fdwSound)
static BOOL bPlaySoundStop
static void PlaySound_WaitDone(struct playsound_data *s)
static BOOL proc_PlaySoundAsync(WINE_PLAYSOUND *wps)
static HMMIO get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName)
static BOOL PlaySound_IsString(DWORD fdwSound, const void *psz)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
BOOL WINAPI DECLSPEC_HOTPATCH ResetEvent(IN HANDLE hEvent)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define THREAD_PRIORITY_TIME_CRITICAL
CRITICAL_SECTION WINMM_cs
UINT WINAPI waveOutReset(HWAVEOUT hWaveOut)
UINT WINAPI waveOutWrite(HWAVEOUT hWaveOut, LPWAVEHDR lpWaveOutHdr, UINT uSize)
UINT WINAPI waveOutUnprepareHeader(HWAVEOUT hWaveOut, LPWAVEHDR lpWaveOutHdr, UINT uSize)
MMRESULT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID, LPCWAVEFORMATEX lpFormat, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD dwFlags)
UINT WINAPI waveOutPrepareHeader(HWAVEOUT hWaveOut, WAVEHDR *lpWaveOutHdr, UINT uSize)
UINT WINAPI waveOutClose(HWAVEOUT hWaveOut)