爲了讓我使用的是Windows API的一個文件,獨家推出的訪問權限:如何管理SHARING_VIOLATION錯誤的CreateFile C++後
HANDLE handle = CreateFileW(filepath.c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
如果發生意外,用戶使用該文件(即DOC)與其他進程創建文件返回-1作爲手柄和最後一個錯誤設置爲32
我的問題是:我怎麼能等到在文件中沒有更多的被其它進程? 做類似:
while(handle==INVALID_HANDLE_VALUE)
handle = CreateFileW(filepath.c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
是非常愚蠢的,因爲它浪費了大量的資源,一試再試的。 我想有,讓你在它阻止,直到它成功的API的一個版本,但我沒有發現它在文檔中!