所有要用的driver都要:
1. Create Mutex
mtx = CreateMutex(NULL,FALSE, TEXT("I2CChannel"));2.使用share device (這裡以I2C為例)前,要取得mutex :
WaitForSingleObject(mtx,INFINITE);argument "INFINITE"會一直wait到其他driver release 這個mutex。
3.使用完後,release :
ReleaseMutex(mtx);4.最後,要注意,driver unload 時要記得close mutex:
CloseHandle(mtx);重點就是 "named" mutex,利用unique name,達到driver間的同步。
沒有留言:
張貼留言