2014-06-30 34 views
0

工作在看着wlanapi例子我最近看到下面的模式幾次:不WlanFreeMemory()與NULL

我寫了一個小程序來調用WlanFreeMemory一個空指針,它沒有任何執行錯誤(我可以觀察到),但我仍然不相信。

我首先假定這是一個程序員添加不必要的NULL檢查之前刪除,自由等共同的問題,但是,我沒有看到任何the msdn page以確認該功能是安全與NULL調用。也許更有經驗的Windows編程人員知道這個答案?

+0

即使它成功*現在*沒有任何錯誤,沒有合同,所以它可能會很好地改變它在未來版本的Windows中的行爲(例如訪問衝突)。然後Raymond將不得不爲您的應用添加兼容性襯墊,因爲您依賴的是無證行爲。 –

+0

@AdamRosenfield我可以相信,某處微軟已經說過「任何我們的函數釋放內存接受NULL並且不執行任何操作」或類似的東西。如果它存在,我不知道如何繞過Windows API。 –

回答

2

指針可能不爲空。如果允許空值,則該指針將被註釋爲_In_opt_而不是_In_