2009-12-31 62 views
3

我只看了一下VS2008中HRESULT的定義。 WinNT.h有以下行:解釋HRESULT的聲明/定義

typedef __success(return >= 0) long HRESULT; 

究竟是什麼意思?它對我的未經訓練的眼睛甚至不像C或C++

回答

0

Windows API在這裏使用宏魔法來創建自己的編程語言。你需要繼續挖掘。

__success被定義爲:

sal.h:

#define __success(expr)      __inner_success(expr) 

...和inner_success被定義爲:

#define __inner_success(expr) 

...這是什麼。因此,HRESULT typedef簡化爲:

typedef long HRESULT;