Click here to Skip to main content
15,888,186 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:33
digitalspace.xjtu17-Oct-13 5:33 
AnswerRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
Chris Losinger17-Oct-13 5:25
professionalChris Losinger17-Oct-13 5:25 
GeneralRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:35
digitalspace.xjtu17-Oct-13 5:35 
QuestionHow to generate DSA 512 bit KeyPair in VC++ 2010 Pin
IICTECH17-Oct-13 3:05
IICTECH17-Oct-13 3:05 
QuestionHow to Create Single Process in C++ Pin
Thong LeTrung16-Oct-13 6:40
Thong LeTrung16-Oct-13 6:40 
AnswerRe: How to Create Single Process in C++ Pin
Rajesh R Subramanian16-Oct-13 6:52
professionalRajesh R Subramanian16-Oct-13 6:52 
GeneralRe: How to Create Single Process in C++ Pin
Thong LeTrung16-Oct-13 6:58
Thong LeTrung16-Oct-13 6:58 
QuestionHow does this code with "event" functions? Pin
Vaclav_16-Oct-13 6:38
Vaclav_16-Oct-13 6:38 
Could someone tell me what is going on here? Please.

I am trying to output audio frequency using waveOutWrite. I am using callback function.
Works as expected.
Now I would like to output the audio using the “loop” parameter in the header.
The header sets WHDR_DONE flag when the loop is done.

Now I needed to “translate “ WHDR_DONE flag to the callabck WOM_DONE message for further processing .

I couldn't make the callback work on event so I used this.( I'll try it again).

<b>I have used this „event“ , it partially works but I have no idea why.</b>


HANDLE event;
event = CreateEvent(NULL, TRUE, FALSE, NULL);
DWORD dwWaitResult;


Callback function:

void CALLBACK C_AssynchPlay2::CallbackWaveOutProc(HWAVEOUT hwo,
UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
{
TRACE("\nvoid CALLBACK C_AssynchPlay2::CallbackWaveOutProc...");
if (uMsg == WOM_DONE)
{
AfxMessageBox("finished "); // gets here
return;
}



Output audio function:

bRC = TRUE;
TRACE("\nInitialize pcm %i ",i );
pcm[i].lFreq = Freq;
pcm[i].dDelay = 1; // Delay; must be < 1
pcm[i].whdr.dwFlags = WHDR_BEGINLOOP | WHDR_ENDLOOP ;
pcm[i].whdr.dwLoops = 5; // works

if(!pcm[i].C_CreateSinus())
TRACE("\nFailed pcm[i].C_CreateSinus() %i ", i );

HANDLE event;
event = CreateEvent(NULL, TRUE, FALSE, NULL);
DWORD dwWaitResult;

mmres = waveOutPrepareHeader(hwout, & pcm[i].whdr, sizeof(WAVEHDR));
if (mmres != MMSYSERR_NOERROR) {ASSERT(0); bOK = FALSE;}

mmres = waveOutWrite(hwout, & pcm[i].whdr, sizeof(WAVEHDR));

TRACE("\nWait event ");
dwWaitResult = WaitForSingleObject(event,INFINITE); //sets WOM_DONE in callback

From here this code never gets processed

TRACE("\nWait event OK ");
AfxMessageBox("Wait event.... ");
return bRC;

Many thanks for your help.

Cheers
Vaclav
AnswerRe: How does this code with "event" functions? Pin
Rajesh R Subramanian16-Oct-13 9:05
professionalRajesh R Subramanian16-Oct-13 9:05 
GeneralRe: How does this code with "event" functions? Pin
Vaclav_16-Oct-13 14:36
Vaclav_16-Oct-13 14:36 
GeneralRe: How does this code with "event" functions? Pin
Rajesh R Subramanian16-Oct-13 19:15
professionalRajesh R Subramanian16-Oct-13 19:15 
QuestionRe: How does this code with "event" functions? Pin
Vaclav_17-Oct-13 8:59
Vaclav_17-Oct-13 8:59 
QuestionDisk Wipe Pin
Member 862075915-Oct-13 23:52
Member 862075915-Oct-13 23:52 
AnswerRe: Disk Wipe Pin
Member 862075916-Oct-13 2:11
Member 862075916-Oct-13 2:11 
AnswerRe: Disk Wipe Pin
Vaclav_16-Oct-13 14:43
Vaclav_16-Oct-13 14:43 
SuggestionRe: Disk Wipe Pin
SoMad16-Oct-13 17:17
professionalSoMad16-Oct-13 17:17 
AnswerRe: Disk Wipe Pin
Albert Holguin17-Oct-13 5:33
professionalAlbert Holguin17-Oct-13 5:33 
AnswerRe: Disk Wipe Pin
TheKingofdemon3318-Oct-13 9:14
TheKingofdemon3318-Oct-13 9:14 
QuestionPolymorphism & Assignment Op. & Copy Constructors in C++ Pin
federico.strati15-Oct-13 2:16
federico.strati15-Oct-13 2:16 
AnswerRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
Aescleal21-Oct-13 4:45
Aescleal21-Oct-13 4:45 
GeneralRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
federico.strati21-Oct-13 22:04
federico.strati21-Oct-13 22:04 
GeneralRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
Aescleal21-Oct-13 23:15
Aescleal21-Oct-13 23:15 
GeneralRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
federico.strati22-Oct-13 0:12
federico.strati22-Oct-13 0:12 
QuestionSQLFetchScroll is failing if database column contains NULL value Pin
Ashish Ranjan Mishra14-Oct-13 21:13
Ashish Ranjan Mishra14-Oct-13 21:13 
AnswerRe: SQLFetchScroll is failing if database column contains NULL value Pin
Rajesh R Subramanian14-Oct-13 22:24
professionalRajesh R Subramanian14-Oct-13 22:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.