63 ERR(
"OpenThreadToken failed (0x%x)\n", dwError);
75 WCHAR szExpanded[1024];
85 ERR(
"ExpandEnvironmentStringsForUser failed (0x%x)\n", dwError);
120 HKEY hUserKey, hRegSnd, hRegApp, hScheme, hSnd;
126 bIsDefault = (
_wcsicmp(lpszName,
L"SystemDefault") == 0);
129 bIsDefault ?
L"Default" : lpszName,
192 bIsDefault ?
L".Default" : lpszName,
305 pszName =
L"SystemAsterisk";
307 pszName =
L"SystemDefault";
309 pszName =
L"SystemExclamation";
311 pszName =
L"SystemExit";
313 pszName =
L"SystemHand";
315 pszName =
L"SystemQuestion";
317 pszName =
L"SystemStart";
319 pszName =
L"SystemWelcome";
328 bIsDefault = (
_wcsicmp(pszName,
L"SystemDefault") == 0);
358 else if (!bIsDefault)
385 TRACE(
"Returning waveHdr=%lx\n", dwParam1);
389 ERR(
"Unknown uMsg=%d\n", uMsg);
448 if (bIsString && !bUnicode)
454 pszSoundW = usBuffer.
Buffer;
458 pszSoundW = pszSound;
473 if (bIsString && !bUnicode)
496 TRACE(
"ParentChunk ckid=%.4s fccType=%.4s cksize=%08X\n",
507 TRACE(
"Chunk Found ckid=%.4s fccType=%08x cksize=%08X\n",
531 TRACE(
"Chunk Found ckid=%.4s fccType=%08x cksize=%08X\n",
575 if (
count < 1)
break;
583 ERR(
"Aborting play loop, waveOutWrite error\n");
589 }
while (wps->
bLoop);
598 TRACE(
"Done playing sound => %s!\n", bRet ?
"ok" :
"ko");
649 TRACE(
"pszSound='%p' hmod=%p fdwSound=%08X\n",
650 pszSound,
hmod, fdwSound);
686 if (!wps)
return TRUE;
737 TRACE(
"3.10 (Win95?)\n");
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define RegCloseKey(hKey)
#define ERROR_INSUFFICIENT_BUFFER
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)
BOOL WINAPI OpenThreadToken(HANDLE ThreadHandle, DWORD DesiredAccess, BOOL OpenAsSelf, HANDLE *TokenHandle)
#define HeapFree(x, y, z)
static DWORD DWORD * dwLength
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)
BOOL WINAPI ExpandEnvironmentStringsForUserW(IN HANDLE hToken, IN LPCWSTR lpSrc, OUT LPWSTR lpDest, IN DWORD dwSize)
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)
static const WCHAR Cleanup[]
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
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 DWORD PlaySound_ExpandEnvironmentStrings(LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize)
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)
STDMETHOD() Next(THIS_ ULONG celt, IAssociationElement *pElement, ULONG *pceltFetched) PURE
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)
DWORD WINAPI GetLastError(void)
HANDLE WINAPI GetCurrentThread(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define THREAD_PRIORITY_TIME_CRITICAL
*nSize LPSTR _Inout_ LPDWORD nSize
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)
#define TOKEN_IMPERSONATE