我目前正在用 C/C++ 为 Windows Mobile 编写一个包装器库。我必须实现并导出以下功能:
void start_scanning();
int wait_for_scanning_result();
void stop_scanning();
start_scanning()
被调用以开始扫描过程。 wait_for_scanning_result()
将等待结果可用并返回它,stop_scanning
将中止该过程。
我使用的库有一个回调函数,当结果可用时执行。
void on_scanning_result(int result)
{
/* My code goes here */
}
不幸的是我必须实现上面的功能,所以我的计划是这样解决:
void on_scanning_result(int result)
{
scan_result_available = 1;
scan_result = result;
}
int wait_for_scanning_result()
{
/* ... wait until scan_result_available == 1 */
return scan_result;
}
我不知道如何在 Windows/C 中执行此操作,如果有人可以帮助我或告诉我必须使用哪些函数来完成此操作,我将非常高兴。
最佳答案
你可以使用windows Synchronization Functions .
基本上你所要做的就是:
* CreateEvent - 创建一个事件
* WaitForSingleObject - 等待此事件发出信号
* SetEvent - 发出事件信号
关于c++ - Windows Mobile/C : Wait until variable changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420825/