高级C ++接口 - 跟踪Kinect SKD 2.0代码

时间:2015-06-17 18:29:50

标签: c++ interface kinect kinect-sdk

我正在尝试熟悉c ++中的Kinect 2.0 SDK,以便创建自己的程序。但是,我很难理解一些代码。首先,当我试图追溯不同的结构声明时,我发现所有的函数都是虚函数,我无法找到它们实际定义的位置。 例如,如果您在visual studio中,并单击“IBody”并打开声明,它将带您进入一切都是虚拟的界面。如何确定实际定义的所有内容?

我尝试追溯其他功能,最终我被卡在“GetDefaultKinectSensor”上。该功能的定义是

HRESULT WINAPI GetDefaultKinectSensor(_COM_Outptr_ IKinectSensor** defaultKinectSensor);

这是一个函数声明?有谁能解释一下这个?

我理解C ++的基础知识,但对我来说这是一个新的领域。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个具有以下签名的函数:

  HRESULT       WINAPI               GetDefaultKinectSensor(_COM_Outptr_ IKinectSensor** defaultKinectSensor);
//^return type  ^calling convention  ^name                  ^annotation  ^argument type

命名 - GetDefaultKinectSensor
返回 - HRESULT
召集会议 - WINAPI
参数注释 - _COM_Outptr_
参数类型 - IKinectSensor**

请注意,_COM_Outptr_注释具有以下描述:

  

返回的指针具有COM语义,因此带有_On_failure_后置条件,返回的指针为空。

功能签名将是

HRESULT GetDefaultKinectSensor(IKinectSensor** defaultKinectSensor);

也许调用约定和参数注释会让你失望。