我是在PnP Configuration Manager functions採取一看,只見每一個與這三個宏開始:CONFIGRET返回類型是什麼意思?
CMAPI CONFIGRET WINAPI
我不得不裏面挖CfgMgr32.h找到CMAPI
,其定義爲:
#if !defined (_CFGMGR32_)
#define CMAPI DECLSPEC_IMPORT
#else
#define CMAPI
#endif
根據this artcle,這允許CMAPI
的函數在運行時或鏈接時加載。而且我們已經知道WINAPI
只是一個macro for a calling convention。
但CONFIGRET
呢?從CfgMgr32.h,它被定義爲:
//
// Standardized Return Value data type
//
typedef _Return_type_success_(return == 0) DWORD RETURN_TYPE;
typedef RETURN_TYPE CONFIGRET;
我從來沒有見過這個已經,這是什麼意思?這些功能的返回類型是什麼?
返回值[記錄](https://msdn.microsoft.com/en-us/library/windows/hardware/hh780226.aspx):*「如果操作成功,則該函數返回CR_SUCCESS。否則,它將返回Cfgmgr32.h中定義的一個CR_前綴錯誤代碼。「*這個特殊的類型並不是很有趣,它恰好是一個用[SAL Annotations](https://msdn.microsoft.com/en-us/library/ms235402.aspx)註解的DWORD。 :*「0表示成功」 *(見[註解功能行爲(https://msdn.microsoft.com/en-us/library/jj159529.aspx))SAL被用於靜態代碼分析工具 – IInspectable
整齊,我從來不知道SAL註釋,爲什麼不把你的評論包裝在答案中,以便我能接受它?謝謝。 –