[英]Using Microsoft's Source-Code Annotation Language (SAL) with Doxygen?
[英]Microsoft SAL annotation -optional parameter
在winbase.h中,像這樣定義DeviceIoControl函數。
BOOL
WINAPI
DeviceIoControl(
__in HANDLE hDevice,
__in DWORD dwIoControlCode,
__in_bcount_opt(nInBufferSize) LPVOID lpInBuffer,
__in DWORD nInBufferSize,
__out_bcount_part_opt(nOutBufferSize, *lpBytesReturned) LPVOID lpOutBuffer,
__in DWORD nOutBufferSize,
__out_opt LPDWORD lpBytesReturned,
__inout_opt LPOVERLAPPED lpOverlapped
);
參數lpBytesReturned的注釋定義為可選。
但是,如果調用方使用同步I / O,則它不是可選參數。
如果調用者將Null設置為lpBytesReturned並使用同步I / O,則應用程序可能會死亡。
在執行功能時,我經常會遇到這個問題。
我不知道如何從SAL表達這一點。
是否有注釋來表達這一點?
PS如果可以,請制作SAL標簽。 SO中尚無標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.