mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 15:33:07 +00:00
Implement WaveThreadGetData
svn path=/trunk/; revision=19425
This commit is contained in:
parent
c902c40ab5
commit
8b4bd72ee1
1 changed files with 35 additions and 2 deletions
|
@ -97,8 +97,41 @@ static DWORD waveThread(LPVOID lpParameter)
|
||||||
DPRINT("UNIMPLMENENT WaveThreadSetState ");
|
DPRINT("UNIMPLMENENT WaveThreadSetState ");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WaveThreadGetData:
|
case WaveThreadGetData:
|
||||||
DPRINT("UNIMPLMENENT WaveThreadGetData ");
|
{
|
||||||
|
OVERLAPPED Overlap;
|
||||||
|
DWORD BytesReturned;
|
||||||
|
|
||||||
|
// FIXME
|
||||||
|
// Assert(hDev != NULL);
|
||||||
|
|
||||||
|
memset(&Overlap, 0, sizeof(Overlap));
|
||||||
|
|
||||||
|
Overlap.hEvent = pClient->Event;
|
||||||
|
|
||||||
|
if (!DeviceIoControl(pClient->hDev, pClient->AuxParam.GetSetData.Function, NULL, 0,
|
||||||
|
pClient->AuxParam.GetSetData.pData, pClient->AuxParam.GetSetData.DataLen,
|
||||||
|
&BytesReturned, &Overlap))
|
||||||
|
{
|
||||||
|
DWORD cbTransfer;
|
||||||
|
|
||||||
|
if (GetLastError() != ERROR_IO_PENDING)
|
||||||
|
pClient->AuxReturnCode = TranslateStatus();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!GetOverlappedResult(pClient->hDev, &Overlap, &cbTransfer, TRUE))
|
||||||
|
pClient->AuxReturnCode = TranslateStatus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while (SetEvent(pClient->Event) && WaitForSingleObjectEx(pClient->Event, 0, TRUE) ==
|
||||||
|
WAIT_IO_COMPLETION) {}
|
||||||
|
|
||||||
|
pClient->AuxReturnCode = MMSYSERR_NOERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WaveThreadSetData:
|
case WaveThreadSetData:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue