2012-07-23 62 views
4

當在窗口中創建一個命名對象時,通過調用GetLastError()並檢查ERROR_ALREADY_EXISTS,可以確定對象是否已經存在。有沒有辦法確定一個CloseHandle()是否是最後一個命名對象?

有沒有辦法去問這個雙重問題:我的CloseHandle()是最後一個關閉(句柄)的指定資源嗎?

+0

您的意思是:我可以找出我的CloseHandle()是否關閉了有問題的指定資源的最後一個句柄? – 2012-07-24 00:00:31

回答

1

直接,沒有。

但是,您可以通過在 CloseHandle之後撥打 GetHandleInformation間接獲得 。如果手柄無效,該功能將失敗並將錯誤號碼設置爲 ERROR_INVALID_HANDLE

不,不是間接的,也不要再考慮它。這隻會告訴你你的句柄是無效的......自從你關閉它之後你就​​已經知道了。