]> git.cworth.org Git - apitrace/blobdiff - specs/winapi.py
Fix common HRESULT values.
[apitrace] / specs / winapi.py
index 6fbdfaefb2b90c753c51ebdd978bf7a998ba60a4..0941118f08310ddbad3e3e7ea1e889290c47a602 100644 (file)
@@ -179,21 +179,25 @@ LOGFONTW = Struct("LOGFONTW", [
 
 # http://msdn.microsoft.com/en-us/library/ff485842.aspx
 # http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381.aspx
-HRESULT = Enum("HRESULT", [
-    "S_OK", # 0x0
-    "S_FALSE", # 0x1
-    "E_PENDING", # 0x8000000A
-    "E_NOTIMPL", # 0x80004001
-    "E_NOINTERFACE", # 0x80004002
-    "E_POINTER", # 0x80004003
-    "E_ABORT", # 0x80004004
-    "E_FAIL", # 0x80004005
-    "E_UNEXPECTED", # 0x8000FFFF
-    "E_ACCESSDENIED", # 0x80070005
-    "E_HANDLE", # 0x80070006
-    "E_OUTOFMEMORY", # 0x8007000E
-    "E_INVALIDARG", # 0x80070057
-])
+def MAKE_HRESULT(errors, ok = "S_OK", false = "S_FALSE"):
+    values = [ok, false]
+    values.extend(errors)
+    values.extend([
+        "E_PENDING", # 0x8000000A
+        "E_NOTIMPL", # 0x80004001
+        "E_NOINTERFACE", # 0x80004002
+        "E_POINTER", # 0x80004003
+        "E_ABORT", # 0x80004004
+        "E_FAIL", # 0x80004005
+        "E_UNEXPECTED", # 0x8000FFFF
+        "E_ACCESSDENIED", # 0x80070005
+        "E_HANDLE", # 0x80070006
+        "E_OUTOFMEMORY", # 0x8007000E
+        "E_INVALIDARG", # 0x80070057
+    ])
+    return Enum("HRESULT", values)
+
+HRESULT = MAKE_HRESULT([])
 
 
 IUnknown = Interface("IUnknown")