VS查看对象的虚表

在VS中的导出虚函数表
在DirectX SDK中的相关例子中,打开对应的工程按如下方式操作:

打开项目属性页,配置属性|C/C++|命令行|其它选项(D)

例如:/d1 reportSingleClassLayoutIDirect3DDevice9可以导出IDirect3DDevice9的继承和虚函数表信息

已启动生成…
1>------ 已启动生成: 项目: CFHappy, 配置: Release x64 ------
1>pch.cpp
1>Utils.cpp
1>CFHappy.cpp
1>class IDirect3D9	size(8):
1>	+---
1> 0	| +--- (base class IUnknown)
1> 0	| | {vfptr}
1>	| +---
1>	+---
1>IDirect3D9::$vftable@:
1>	| &IDirect3D9_meta
1>	|  0
1> 0	| &IDirect3D9::QueryInterface
1> 1	| &IDirect3D9::AddRef
1> 2	| &IDirect3D9::Release
1> 3	| &IDirect3D9::RegisterSoftwareDevice
1> 4	| &IDirect3D9::GetAdapterCount
1> 5	| &IDirect3D9::GetAdapterIdentifier
1> 6	| &IDirect3D9::GetAdapterModeCount
1> 7	| &IDirect3D9::EnumAdapterModes
1> 8	| &IDirect3D9::GetAdapterDisplayMode
1> 9	| &IDirect3D9::CheckDeviceType
1>10	| &IDirect3D9::CheckDeviceFormat
1>11	| &IDirect3D9::CheckDeviceMultiSampleType
1>12	| &IDirect3D9::CheckDepthStencilMatch
1>13	| &IDirect3D9::CheckDeviceFormatConversion
1>14	| &IDirect3D9::GetDeviceCaps
1>15	| &IDirect3D9::GetAdapterMonitor
1>16	| &IDirect3D9::CreateDevice
1>IDirect3D9::QueryInterface this adjustor: 0
1>IDirect3D9::AddRef this adjustor: 0
1>IDirect3D9::Release this adjustor: 0
1>IDirect3D9::RegisterSoftwareDevice this adjustor: 0
1>IDirect3D9::GetAdapterCount this adjustor: 0
1>IDirect3D9::GetAdapterIdentifier this adjustor: 0
1>IDirect3D9::GetAdapterModeCount this adjustor: 0
1>IDirect3D9::EnumAdapterModes this adjustor: 0
1>IDirect3D9::GetAdapterDisplayMode this adjustor: 0
1>IDirect3D9::CheckDeviceType this adjustor: 0
1>IDirect3D9::CheckDeviceFormat this adjustor: 0
1>IDirect3D9::CheckDeviceMultiSampleType this adjustor: 0
1>IDirect3D9::CheckDepthStencilMatch this adjustor: 0
1>IDirect3D9::CheckDeviceFormatConversion this adjustor: 0
1>IDirect3D9::GetDeviceCaps this adjustor: 0
1>IDirect3D9::GetAdapterMonitor this adjustor: 0
1>IDirect3D9::CreateDevice this adjustor: 0
1>class IDirect3D9Ex	size(8):
1>	+---
1> 0	| +--- (base class IDirect3D9)
1> 0	| | +--- (base class IUnknown)
1> 0	| | | {vfptr}
1>	| | +---
1>	| +---
1>	+---
1>IDirect3D9Ex::$vftable@:
1>	| &IDirect3D9Ex_meta
1>	|  0
1> 0	| &IDirect3D9Ex::QueryInterface
1> 1	| &IDirect3D9Ex::AddRef
1> 2	| &IDirect3D9Ex::Release
1> 3	| &IDirect3D9::RegisterSoftwareDevice
1> 4	| &IDirect3D9Ex::GetAdapterCount
1> 5	| &IDirect3D9Ex::GetAdapterIdentifier
1> 6	| &IDirect3D9Ex::GetAdapterModeCount
1> 7	| &IDirect3D9Ex::EnumAdapterModes
1> 8	| &IDirect3D9Ex::GetAdapterDisplayMode
1> 9	| &IDirect3D9Ex::CheckDeviceType
1>10	| &IDirect3D9Ex::CheckDeviceFormat
1>11	| &IDirect3D9Ex::CheckDeviceMultiSampleType
1>12	| &IDirect3D9Ex::CheckDepthStencilMatch
1>13	| &IDirect3D9Ex::CheckDeviceFormatConversion
1>14	| &IDirect3D9Ex::GetDeviceCaps
1>15	| &IDirect3D9Ex::GetAdapterMonitor
1>16	| &IDirect3D9Ex::CreateDevice
1>17	| &IDirect3D9Ex::GetAdapterModeCountEx
1>18	| &IDirect3D9Ex::EnumAdapterModesEx
1>19	| &IDirect3D9Ex::GetAdapterDisplayModeEx
1>20	| &IDirect3D9Ex::CreateDeviceEx
1>21	| &IDirect3D9Ex::GetAdapterLUID
1>IDirect3D9Ex::QueryInterface this adjustor: 0
1>IDirect3D9Ex::AddRef this adjustor: 0
1>IDirect3D9Ex::Release this adjustor: 0
1>IDirect3D9Ex::GetAdapterCount this adjustor: 0
1>IDirect3D9Ex::GetAdapterIdentifier this adjustor: 0
1>IDirect3D9Ex::GetAdapterModeCount this adjustor: 0
1>IDirect3D9Ex::EnumAdapterModes this adjustor: 0
1>IDirect3D9Ex::GetAdapterDisplayMode this adjustor: 0
1>IDirect3D9Ex::CheckDeviceType this adjustor: 0
1>IDirect3D9Ex::CheckDeviceFormat this adjustor: 0
1>IDirect3D9Ex::CheckDeviceMultiSampleType this adjustor: 0
1>IDirect3D9Ex::CheckDepthStencilMatch this adjustor: 0
1>IDirect3D9Ex::CheckDeviceFormatConversion this adjustor: 0
1>IDirect3D9Ex::GetDeviceCaps this adjustor: 0
1>IDirect3D9Ex::GetAdapterMonitor this adjustor: 0
1>IDirect3D9Ex::CreateDevice this adjustor: 0
1>IDirect3D9Ex::GetAdapterModeCountEx this adjustor: 0
1>IDirect3D9Ex::EnumAdapterModesEx this adjustor: 0
1>IDirect3D9Ex::GetAdapterDisplayModeEx this adjustor: 0
1>IDirect3D9Ex::CreateDeviceEx this adjustor: 0
1>IDirect3D9Ex::GetAdapterLUID this adjustor: 0
1>class IDirect3D9ExOverlayExtension	size(8):
1>	+---
1> 0	| +--- (base class IUnknown)
1> 0	| | {vfptr}
1>	| +---
1>	+---
1>IDirect3D9ExOverlayExtension::$vftable@:
1>	| &IDirect3D9ExOverlayExtension_meta
1>	|  0
1> 0	| &IDirect3D9ExOverlayExtension::QueryInterface
1> 1	| &IDirect3D9ExOverlayExtension::AddRef
1> 2	| &IDirect3D9ExOverlayExtension::Release
1> 3	| &IDirect3D9ExOverlayExtension::CheckDeviceOverlayType
1>F:\CF自嗨\CFHappy\CFHappy\include\SDK.h(201,9): error C2143: 语法错误: 缺少“;(在“*”的前面)
1>F:\CF自嗨\CFHappy\CFHappy\include\SDK.h(201,9): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>F:\CF自嗨\CFHappy\CFHappy\include\SDK.h(201,18): error C2238: 意外的标记位于“;”之前
1>F:\CF自嗨\CFHappy\CFHappy\include\SDK.h(210,24): warning C4244: “参数”: 从“int64_t”转换到“int32_t”,可能丢失数据
1>F:\CF自嗨\CFHappy\CFHappy\include\SDK.h(213,27): warning C4244: “参数”: 从“int64_t”转换到“int32_t”,可能丢失数据
1>F:\CF自嗨\CFHappy\CFHappy\include\SDK.h(233,41): error C2065: “pBaseAddress”: 未声明的标识符
1>IDirect3D9ExOverlayExtension::QueryInterface this adjustor: 0
1>IDirect3D9ExOverlayExtension::AddRef this adjustor: 0
1>IDirect3D9ExOverlayExtension::Release this adjustor: 0
1>IDirect3D9ExOverlayExtension::CheckDeviceOverlayType this adjustor: 0
1>D3DHook.cpp
1>class IDirect3D9	size(8):
1>	+---
1> 0	| +--- (base class IUnknown)
1> 0	| | {vfptr}
1>	| +---
1>	+---
1>IDirect3D9::$vftable@:
1>	| &IDirect3D9_meta
1>	|  0
1> 0	| &IDirect3D9::QueryInterface
1> 1	| &IDirect3D9::AddRef
1> 2	| &IDirect3D9::Release
1> 3	| &IDirect3D9::RegisterSoftwareDevice
1> 4	| &IDirect3D9::GetAdapterCount
1> 5	| &IDirect3D9::GetAdapterIdentifier
1> 6	| &IDirect3D9::GetAdapterModeCount
1> 7	| &IDirect3D9::EnumAdapterModes
1> 8	| &IDirect3D9::GetAdapterDisplayMode
1> 9	| &IDirect3D9::CheckDeviceType
1>10	| &IDirect3D9::CheckDeviceFormat
1>11	| &IDirect3D9::CheckDeviceMultiSampleType
1>12	| &IDirect3D9::CheckDepthStencilMatch
1>13	| &IDirect3D9::CheckDeviceFormatConversion
1>14	| &IDirect3D9::GetDeviceCaps
1>15	| &IDirect3D9::GetAdapterMonitor
1>16	| &IDirect3D9::CreateDevice
1>IDirect3D9::QueryInterface this adjustor: 0
1>IDirect3D9::AddRef this adjustor: 0
1>IDirect3D9::Release this adjustor: 0
1>IDirect3D9::RegisterSoftwareDevice this adjustor: 0
1>IDirect3D9::GetAdapterCount this adjustor: 0
1>IDirect3D9::GetAdapterIdentifier this adjustor: 0
1>IDirect3D9::GetAdapterModeCount this adjustor: 0
1>IDirect3D9::EnumAdapterModes this adjustor: 0
1>IDirect3D9::GetAdapterDisplayMode this adjustor: 0
1>IDirect3D9::CheckDeviceType this adjustor: 0
1>IDirect3D9::CheckDeviceFormat this adjustor: 0
1>IDirect3D9::CheckDeviceMultiSampleType this adjustor: 0
1>IDirect3D9::CheckDepthStencilMatch this adjustor: 0
1>IDirect3D9::CheckDeviceFormatConversion this adjustor: 0
1>IDirect3D9::GetDeviceCaps this adjustor: 0
1>IDirect3D9::GetAdapterMonitor this adjustor: 0
1>IDirect3D9::CreateDevice this adjustor: 0
1>class IDirect3D9Ex	size(8):
1>	+---
1> 0	| +--- (base class IDirect3D9)
1> 0	| | +--- (base class IUnknown)
1> 0	| | | {vfptr}
1>	| | +---
1>	| +---
1>	+---
1>IDirect3D9Ex::$vftable@:
1>	| &IDirect3D9Ex_meta
1>	|  0
1> 0	| &IDirect3D9Ex::QueryInterface
1> 1	| &IDirect3D9Ex::AddRef
1> 2	| &IDirect3D9Ex::Release
1> 3	| &IDirect3D9::RegisterSoftwareDevice
1> 4	| &IDirect3D9Ex::GetAdapterCount
1> 5	| &IDirect3D9Ex::GetAdapterIdentifier
1> 6	| &IDirect3D9Ex::GetAdapterModeCount
1> 7	| &IDirect3D9Ex::EnumAdapterModes
1> 8	| &IDirect3D9Ex::GetAdapterDisplayMode
1> 9	| &IDirect3D9Ex::CheckDeviceType
1>10	| &IDirect3D9Ex::CheckDeviceFormat
1>11	| &IDirect3D9Ex::CheckDeviceMultiSampleType
1>12	| &IDirect3D9Ex::CheckDepthStencilMatch
1>13	| &IDirect3D9Ex::CheckDeviceFormatConversion
1>14	| &IDirect3D9Ex::GetDeviceCaps
1>15	| &IDirect3D9Ex::GetAdapterMonitor
1>16	| &IDirect3D9Ex::CreateDevice
1>17	| &IDirect3D9Ex::GetAdapterModeCountEx
1>18	| &IDirect3D9Ex::EnumAdapterModesEx
1>19	| &IDirect3D9Ex::GetAdapterDisplayModeEx
1>20	| &IDirect3D9Ex::CreateDeviceEx
1>21	| &IDirect3D9Ex::GetAdapterLUID
1>IDirect3D9Ex::QueryInterface this adjustor: 0
1>IDirect3D9Ex::AddRef this adjustor: 0
1>IDirect3D9Ex::Release this adjustor: 0
1>IDirect3D9Ex::GetAdapterCount this adjustor: 0
1>IDirect3D9Ex::GetAdapterIdentifier this adjustor: 0
1>IDirect3D9Ex::GetAdapterModeCount this adjustor: 0
1>IDirect3D9Ex::EnumAdapterModes this adjustor: 0
1>IDirect3D9Ex::GetAdapterDisplayMode this adjustor: 0
1>IDirect3D9Ex::CheckDeviceType this adjustor: 0
1>IDirect3D9Ex::CheckDeviceFormat this adjustor: 0
1>IDirect3D9Ex::CheckDeviceMultiSampleType this adjustor: 0
1>IDirect3D9Ex::CheckDepthStencilMatch this adjustor: 0
1>IDirect3D9Ex::CheckDeviceFormatConversion this adjustor: 0
1>IDirect3D9Ex::GetDeviceCaps this adjustor: 0
1>IDirect3D9Ex::GetAdapterMonitor this adjustor: 0
1>IDirect3D9Ex::CreateDevice this adjustor: 0
1>IDirect3D9Ex::GetAdapterModeCountEx this adjustor: 0
1>IDirect3D9Ex::EnumAdapterModesEx this adjustor: 0
1>IDirect3D9Ex::GetAdapterDisplayModeEx this adjustor: 0
1>IDirect3D9Ex::CreateDeviceEx this adjustor: 0
1>IDirect3D9Ex::GetAdapterLUID this adjustor: 0
1>class IDirect3D9ExOverlayExtension	size(8):
1>	+---
1> 0	| +--- (base class IUnknown)
1> 0	| | {vfptr}
1>	| +---
1>	+---
1>IDirect3D9ExOverlayExtension::$vftable@:
1>	| &IDirect3D9ExOverlayExtension_meta
1>	|  0
1> 0	| &IDirect3D9ExOverlayExtension::QueryInterface
1> 1	| &IDirect3D9ExOverlayExtension::AddRef
1> 2	| &IDirect3D9ExOverlayExtension::Release
1> 3	| &IDirect3D9ExOverlayExtension::CheckDeviceOverlayType
1>IDirect3D9ExOverlayExtension::QueryInterface this adjustor: 0
1>IDirect3D9ExOverlayExtension::AddRef this adjustor: 0
1>IDirect3D9ExOverlayExtension::Release this adjustor: 0
1>IDirect3D9ExOverlayExtension::CheckDeviceOverlayType this adjustor: 0
1>dllmain.cpp
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(66,1): warning C4005: “STATUS_WAIT_0”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2510): message : 参见“STATUS_WAIT_0”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(222,1): warning C4005: “STATUS_ABANDONED_WAIT_0”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2511): message : 参见“STATUS_ABANDONED_WAIT_0”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(245,1): warning C4005: “STATUS_USER_APC”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2512): message : 参见“STATUS_USER_APC”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(281,1): warning C4005: “STATUS_TIMEOUT”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2513): message : 参见“STATUS_TIMEOUT”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(290,1): warning C4005: “STATUS_PENDING”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2514): message : 参见“STATUS_PENDING”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(737,1): warning C4005: “DBG_EXCEPTION_HANDLED”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2515): message : 参见“DBG_EXCEPTION_HANDLED”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(746,1): warning C4005: “DBG_CONTINUE”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2516): message : 参见“DBG_CONTINUE”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(821,1): warning C4005: “STATUS_SEGMENT_NOTIFICATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2517): message : 参见“STATUS_SEGMENT_NOTIFICATION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(984,1): warning C4005: “STATUS_FATAL_APP_EXIT”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2518): message : 参见“STATUS_FATAL_APP_EXIT”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1304,1): warning C4005: “DBG_REPLY_LATER”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2519): message : 参见“DBG_REPLY_LATER”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1322,1): warning C4005: “DBG_TERMINATE_THREAD”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2520): message : 参见“DBG_TERMINATE_THREAD”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1331,1): warning C4005: “DBG_TERMINATE_PROCESS”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2521): message : 参见“DBG_TERMINATE_PROCESS”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1340,1): warning C4005: “DBG_CONTROL_C”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2522): message : 参见“DBG_CONTROL_C”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1349,1): warning C4005: “DBG_PRINTEXCEPTION_C”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2523): message : 参见“DBG_PRINTEXCEPTION_C”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1358,1): warning C4005: “DBG_RIPEXCEPTION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2524): message : 参见“DBG_RIPEXCEPTION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1367,1): warning C4005: “DBG_CONTROL_BREAK”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2525): message : 参见“DBG_CONTROL_BREAK”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1376,1): warning C4005: “DBG_COMMAND_EXCEPTION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2526): message : 参见“DBG_COMMAND_EXCEPTION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1385,1): warning C4005: “DBG_PRINTEXCEPTION_WIDE_C”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2527): message : 参见“DBG_PRINTEXCEPTION_WIDE_C”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1417,1): warning C4005: “STATUS_GUARD_PAGE_VIOLATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2528): message : 参见“STATUS_GUARD_PAGE_VIOLATION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1428,1): warning C4005: “STATUS_DATATYPE_MISALIGNMENT”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2529): message : 参见“STATUS_DATATYPE_MISALIGNMENT”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1439,1): warning C4005: “STATUS_BREAKPOINT”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2530): message : 参见“STATUS_BREAKPOINT”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1450,1): warning C4005: “STATUS_SINGLE_STEP”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2531): message : 参见“STATUS_SINGLE_STEP”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1753,1): warning C4005: “STATUS_LONGJUMP”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2532): message : 参见“STATUS_LONGJUMP”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1780,1): warning C4005: “STATUS_UNWIND_CONSOLIDATE”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2533): message : 参见“STATUS_UNWIND_CONSOLIDATE”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(1884,1): warning C4005: “DBG_EXCEPTION_NOT_HANDLED”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2534): message : 参见“DBG_EXCEPTION_NOT_HANDLED”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2030,1): warning C4005: “STATUS_ACCESS_VIOLATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2535): message : 参见“STATUS_ACCESS_VIOLATION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2039,1): warning C4005: “STATUS_IN_PAGE_ERROR”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2536): message : 参见“STATUS_IN_PAGE_ERROR”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2057,1): warning C4005: “STATUS_INVALID_HANDLE”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2537): message : 参见“STATUS_INVALID_HANDLE”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2102,1): warning C4005: “STATUS_INVALID_PARAMETER”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2538): message : 参见“STATUS_INVALID_PARAMETER”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2202,1): warning C4005: “STATUS_NO_MEMORY”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2539): message : 参见“STATUS_NO_MEMORY”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2259,1): warning C4005: “STATUS_ILLEGAL_INSTRUCTION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2540): message : 参见“STATUS_ILLEGAL_INSTRUCTION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2340,1): warning C4005: “STATUS_NONCONTINUABLE_EXCEPTION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2541): message : 参见“STATUS_NONCONTINUABLE_EXCEPTION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(2349,1): warning C4005: “STATUS_INVALID_DISPOSITION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2542): message : 参见“STATUS_INVALID_DISPOSITION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3282,1): warning C4005: “STATUS_ARRAY_BOUNDS_EXCEEDED”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2543): message : 参见“STATUS_ARRAY_BOUNDS_EXCEEDED”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3292,1): warning C4005: “STATUS_FLOAT_DENORMAL_OPERAND”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2544): message : 参见“STATUS_FLOAT_DENORMAL_OPERAND”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3302,1): warning C4005: “STATUS_FLOAT_DIVIDE_BY_ZERO”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2545): message : 参见“STATUS_FLOAT_DIVIDE_BY_ZERO”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3312,1): warning C4005: “STATUS_FLOAT_INEXACT_RESULT”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2546): message : 参见“STATUS_FLOAT_INEXACT_RESULT”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3322,1): warning C4005: “STATUS_FLOAT_INVALID_OPERATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2547): message : 参见“STATUS_FLOAT_INVALID_OPERATION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3332,1): warning C4005: “STATUS_FLOAT_OVERFLOW”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2548): message : 参见“STATUS_FLOAT_OVERFLOW”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3342,1): warning C4005: “STATUS_FLOAT_STACK_CHECK”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2549): message : 参见“STATUS_FLOAT_STACK_CHECK”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3352,1): warning C4005: “STATUS_FLOAT_UNDERFLOW”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2550): message : 参见“STATUS_FLOAT_UNDERFLOW”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3362,1): warning C4005: “STATUS_INTEGER_DIVIDE_BY_ZERO”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2551): message : 参见“STATUS_INTEGER_DIVIDE_BY_ZERO”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3372,1): warning C4005: “STATUS_INTEGER_OVERFLOW”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2552): message : 参见“STATUS_INTEGER_OVERFLOW”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(3382,1): warning C4005: “STATUS_PRIVILEGED_INSTRUCTION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2553): message : 参见“STATUS_PRIVILEGED_INSTRUCTION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4328,1): warning C4005: “STATUS_STACK_OVERFLOW”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2554): message : 参见“STATUS_STACK_OVERFLOW”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4845,1): warning C4005: “STATUS_DLL_NOT_FOUND”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2555): message : 参见“STATUS_DLL_NOT_FOUND”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4874,1): warning C4005: “STATUS_ORDINAL_NOT_FOUND”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2556): message : 参见“STATUS_ORDINAL_NOT_FOUND”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4884,1): warning C4005: “STATUS_ENTRYPOINT_NOT_FOUND”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2557): message : 参见“STATUS_ENTRYPOINT_NOT_FOUND”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4894,1): warning C4005: “STATUS_CONTROL_C_EXIT”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2558): message : 参见“STATUS_CONTROL_C_EXIT”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(4972,1): warning C4005: “STATUS_DLL_INIT_FAILED”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2559): message : 参见“STATUS_DLL_INIT_FAILED”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(5969,1): warning C4005: “STATUS_CONTROL_STACK_VIOLATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2560): message : 参见“STATUS_CONTROL_STACK_VIOLATION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7527,1): warning C4005: “STATUS_FLOAT_MULTIPLE_FAULTS”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2561): message : 参见“STATUS_FLOAT_MULTIPLE_FAULTS”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7537,1): warning C4005: “STATUS_FLOAT_MULTIPLE_TRAPS”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2562): message : 参见“STATUS_FLOAT_MULTIPLE_TRAPS”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(7669,1): warning C4005: “STATUS_REG_NAT_CONSUMPTION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2563): message : 参见“STATUS_REG_NAT_CONSUMPTION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8652,1): warning C4005: “STATUS_HEAP_CORRUPTION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2564): message : 参见“STATUS_HEAP_CORRUPTION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(8880,1): warning C4005: “STATUS_STACK_BUFFER_OVERRUN”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2565): message : 参见“STATUS_STACK_BUFFER_OVERRUN”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9007,1): warning C4005: “STATUS_INVALID_CRUNTIME_PARAMETER”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2566): message : 参见“STATUS_INVALID_CRUNTIME_PARAMETER”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9070,1): warning C4005: “STATUS_ASSERTION_FAILURE”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2567): message : 参见“STATUS_ASSERTION_FAILURE”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(9988,1): warning C4005: “STATUS_ENCLAVE_VIOLATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2568): message : 参见“STATUS_ENCLAVE_VIOLATION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10415,1): warning C4005: “STATUS_INTERRUPTED”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2569): message : 参见“STATUS_INTERRUPTED”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10424,1): warning C4005: “STATUS_THREAD_NOT_RUNNING”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2570): message : 参见“STATUS_THREAD_NOT_RUNNING”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(10718,1): warning C4005: “STATUS_ALREADY_REGISTERED”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2571): message : 参见“STATUS_ALREADY_REGISTERED”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14352,1): warning C4005: “STATUS_SXS_EARLY_DEACTIVATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2573): message : 参见“STATUS_SXS_EARLY_DEACTIVATION”的前一个定义
1>E:\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(14361,1): warning C4005: “STATUS_SXS_INVALID_DEACTIVATION”: 宏重定义
1>E:\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2574): message : 参见“STATUS_SXS_INVALID_DEACTIVATION”的前一个定义
1>class IDirect3D9	size(8):
1>	+---
1> 0	| +--- (base class IUnknown)
1> 0	| | {vfptr}
1>	| +---
1>	+---
1>IDirect3D9::$vftable@:
1>	| &IDirect3D9_meta
1>	|  0
1> 0	| &IDirect3D9::QueryInterface
1> 1	| &IDirect3D9::AddRef
1> 2	| &IDirect3D9::Release
1> 3	| &IDirect3D9::RegisterSoftwareDevice
1> 4	| &IDirect3D9::GetAdapterCount
1> 5	| &IDirect3D9::GetAdapterIdentifier
1> 6	| &IDirect3D9::GetAdapterModeCount
1> 7	| &IDirect3D9::EnumAdapterModes
1> 8	| &IDirect3D9::GetAdapterDisplayMode
1> 9	| &IDirect3D9::CheckDeviceType
1>10	| &IDirect3D9::CheckDeviceFormat
1>11	| &IDirect3D9::CheckDeviceMultiSampleType
1>12	| &IDirect3D9::CheckDepthStencilMatch
1>13	| &IDirect3D9::CheckDeviceFormatConversion
1>14	| &IDirect3D9::GetDeviceCaps
1>15	| &IDirect3D9::GetAdapterMonitor
1>16	| &IDirect3D9::CreateDevice
1>IDirect3D9::QueryInterface this adjustor: 0
1>IDirect3D9::AddRef this adjustor: 0
1>IDirect3D9::Release this adjustor: 0
1>IDirect3D9::RegisterSoftwareDevice this adjustor: 0
1>IDirect3D9::GetAdapterCount this adjustor: 0
1>IDirect3D9::GetAdapterIdentifier this adjustor: 0
1>IDirect3D9::GetAdapterModeCount this adjustor: 0
1>IDirect3D9::EnumAdapterModes this adjustor: 0
1>IDirect3D9::GetAdapterDisplayMode this adjustor: 0
1>IDirect3D9::CheckDeviceType this adjustor: 0
1>IDirect3D9::CheckDeviceFormat this adjustor: 0
1>IDirect3D9::CheckDeviceMultiSampleType this adjustor: 0
1>IDirect3D9::CheckDepthStencilMatch this adjustor: 0
1>IDirect3D9::CheckDeviceFormatConversion this adjustor: 0
1>IDirect3D9::GetDeviceCaps this adjustor: 0
1>IDirect3D9::GetAdapterMonitor this adjustor: 0
1>IDirect3D9::CreateDevice this adjustor: 0
1>class IDirect3D9Ex	size(8):
1>	+---
1> 0	| +--- (base class IDirect3D9)
1> 0	| | +--- (base class IUnknown)
1> 0	| | | {vfptr}
1>	| | +---
1>	| +---
1>	+---
1>IDirect3D9Ex::$vftable@:
1>	| &IDirect3D9Ex_meta
1>	|  0
1> 0	| &IDirect3D9Ex::QueryInterface
1> 1	| &IDirect3D9Ex::AddRef
1> 2	| &IDirect3D9Ex::Release
1> 3	| &IDirect3D9::RegisterSoftwareDevice
1> 4	| &IDirect3D9Ex::GetAdapterCount
1> 5	| &IDirect3D9Ex::GetAdapterIdentifier
1> 6	| &IDirect3D9Ex::GetAdapterModeCount
1> 7	| &IDirect3D9Ex::EnumAdapterModes
1> 8	| &IDirect3D9Ex::GetAdapterDisplayMode
1> 9	| &IDirect3D9Ex::CheckDeviceType
1>10	| &IDirect3D9Ex::CheckDeviceFormat
1>11	| &IDirect3D9Ex::CheckDeviceMultiSampleType
1>12	| &IDirect3D9Ex::CheckDepthStencilMatch
1>13	| &IDirect3D9Ex::CheckDeviceFormatConversion
1>14	| &IDirect3D9Ex::GetDeviceCaps
1>15	| &IDirect3D9Ex::GetAdapterMonitor
1>16	| &IDirect3D9Ex::CreateDevice
1>17	| &IDirect3D9Ex::GetAdapterModeCountEx
1>18	| &IDirect3D9Ex::EnumAdapterModesEx
1>19	| &IDirect3D9Ex::GetAdapterDisplayModeEx
1>20	| &IDirect3D9Ex::CreateDeviceEx
1>21	| &IDirect3D9Ex::GetAdapterLUID
1>IDirect3D9Ex::QueryInterface this adjustor: 0
1>IDirect3D9Ex::AddRef this adjustor: 0
1>IDirect3D9Ex::Release this adjustor: 0
1>IDirect3D9Ex::GetAdapterCount this adjustor: 0
1>IDirect3D9Ex::GetAdapterIdentifier this adjustor: 0
1>IDirect3D9Ex::GetAdapterModeCount this adjustor: 0
1>IDirect3D9Ex::EnumAdapterModes this adjustor: 0
1>IDirect3D9Ex::GetAdapterDisplayMode this adjustor: 0
1>IDirect3D9Ex::CheckDeviceType this adjustor: 0
1>IDirect3D9Ex::CheckDeviceFormat this adjustor: 0
1>IDirect3D9Ex::CheckDeviceMultiSampleType this adjustor: 0
1>IDirect3D9Ex::CheckDepthStencilMatch this adjustor: 0
1>IDirect3D9Ex::CheckDeviceFormatConversion this adjustor: 0
1>IDirect3D9Ex::GetDeviceCaps this adjustor: 0
1>IDirect3D9Ex::GetAdapterMonitor this adjustor: 0
1>IDirect3D9Ex::CreateDevice this adjustor: 0
1>IDirect3D9Ex::GetAdapterModeCountEx this adjustor: 0
1>IDirect3D9Ex::EnumAdapterModesEx this adjustor: 0
1>IDirect3D9Ex::GetAdapterDisplayModeEx this adjustor: 0
1>IDirect3D9Ex::CreateDeviceEx this adjustor: 0
1>IDirect3D9Ex::GetAdapterLUID this adjustor: 0
1>class IDirect3D9ExOverlayExtension	size(8):
1>	+---
1> 0	| +--- (base class IUnknown)
1> 0	| | {vfptr}
1>	| +---
1>	+---
1>IDirect3D9ExOverlayExtension::$vftable@:
1>	| &IDirect3D9ExOverlayExtension_meta
1>	|  0
1> 0	| &IDirect3D9ExOverlayExtension::QueryInterface
1> 1	| &IDirect3D9ExOverlayExtension::AddRef
1> 2	| &IDirect3D9ExOverlayExtension::Release
1> 3	| &IDirect3D9ExOverlayExtension::CheckDeviceOverlayType
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值