This example shows how you can wait for the DVR sink to write data past a certain offset. This is useful if you want to wait for the data to become available before reading it.
The error checking has been omitted for clarity.
void WaitForData(ILMDVRSink* pSink, _int64 startOffset, long nBytes)
long registrationId; // set this to a unique value in your application
// create the offset reached event
ILMDVRSink_CreateEvents2(pSink, registrationId, GetCurrentProcessId(), &dataWrittenEvent, &listChangedEvent, &offsetReachedEvent);
// instruct the sink to set the offset reached event once it reached nBytes past offset startOffset
ILMDVRSink_SetOffsetToReach(pSink, registrationId, (double)(startOffset + nBytes));
// wait for the event to be set
// free the events
Medical Web Viewer .NET
.NET, Java, Android, and iOS/macOS Assemblies
C API/C++ Class Libraries