#include <vidcap.h> // For IKsTopologyInfo
#include <ksproxy.h> // For IKsControl
....
//pKsTopologyInfo is passed from the outside
IKsControl *pKsControl = NULL;
DWORD dwNumNodes = 0;
pKsTopologyInfo->get_NumNodes(&dwNumNodes);
for(unsigned int i = 0; i < dwNumNodes; i++)
{
pKsTopologyInfo->get_NodeType(i, &guidNodeType);
if(IsEqualGUID(guidNodeType, KSNODETYPE_DEV_SPECIFIC))
{
hr = pKsTopologyInfo->CreateNodeInstance(i, IID_IKsControl, (void **)&pKsControl);
这是Delphi中我的代码的相应部分:
//KsTopologyInfo is IKsTopologyInfo passed from the outside
//pKsControl is ^IKsControl, which is taken from DirectShow9.pas from DSPack components set.
KsTopologyInfo.get_NumNodes(@dwNumNodes);
for i:=0 to dwNumNodes-1 do
begin
KsTopologyInfo.get_NodeType(i,@guidNodeType);
if IsEqualGUID(guidNodeType,KSNODETYPE_DEV_SPECIFIC) then
begin
KsTopologyInfo.CreateNodeInstance(i,IID_IKsControl,@pKsControl);
#include <vidcap.h> // For IKsTopologyInfo
#include <ksproxy.h> // For IKsControl
....
//pKsTopologyInfo is passed from the outside
IKsControl *pKsControl = NULL;
DWORD dwNumNodes = 0;
pKsTopologyInfo->get_NumNodes(&dwNumNodes);
for(unsigned int i = 0; i < dwNumNodes; i++)
{
pKsTopologyInfo->get_NodeType(i, &guidNodeType);
if(IsEqualGUID(guidNodeType, KSNODETYPE_DEV_SPECIFIC))
{
hr = pKsTopologyInfo->CreateNodeInstance(i, IID_IKsControl, (void **)&pKsControl);
这是Delphi中我的代码的相应部分:
//KsTopologyInfo is IKsTopologyInfo passed from the outside
//pKsControl is ^IKsControl, which is taken from DirectShow9.pas from DSPack components set.
KsTopologyInfo.get_NumNodes(@dwNumNodes);
for i:=0 to dwNumNodes-1 do
begin
KsTopologyInfo.get_NodeType(i,@guidNodeType);
if IsEqualGUID(guidNodeType,KSNODETYPE_DEV_SPECIFIC) then
begin
KsTopologyInfo.CreateNodeInstance(i,IID_IKsControl,@pKsControl);