1
我是Windows編程的新手,我似乎無法找到任何資源來理解此SAL註釋的含義。我基本上試圖尋找例子,所以我確切知道這對於調用者和被調用者意味着什麼。瞭解__deref_out
MSDN文章here沒有任何幫助。
任何幫助,將不勝感激。
我是Windows編程的新手,我似乎無法找到任何資源來理解此SAL註釋的含義。我基本上試圖尋找例子,所以我確切知道這對於調用者和被調用者意味着什麼。瞭解__deref_out
MSDN文章here沒有任何幫助。
任何幫助,將不勝感激。
「deref」表示在傳入的指針中存在一個間接級別。因此,而不是:
DWORD Function(BYTE* pBuffer);
// pBuffer is a pointer to a BYTE buffer
你可能有:
DWORD Function(BYTE** ppBuffer);
// pBuffer is a pointer to another pointer
// To access the buffer, dereference the pointer:
// BYTE* pBuffer = *ppBuffer;
「選擇」 是指值是可選的,那就是ppBuffer
可等於nullptr
。
它只是_deref(被調用者將解引用指針並且它可能不是NULL)和_out(被調用者只會分配並且不期望傳入的值)的組合。更明確你不明白的東西。 – 2014-11-21 00:16:35