“ dxvaeapi.h”错误
|
我写了一个小代码来查找Direct3D设备管理器,
HRESULT FindDeviceManager(
IMFTopology *pTopology, // Topology to search.
IUnknown **ppDeviceManager, // Receives a pointer to the device manager.
IMFTopologyNode **ppNode // Receives a pointer to the node.
)
{
HRESULT hr = S_OK;
WORD cNodes = 0;
BOOL bFound = FALSE;
IMFTopologyNode *pNode = NULL;
IUnknown *pNodeObject = NULL;
IDirect3DDeviceManager9 *pD3DManager = NULL;
// Search all of the nodes in the topology.
hr = pTopology->GetNodeCount(&cNodes);
if (FAILED(hr))
{
return hr;
}
for (WORD i = 0; i < cNodes; i++)
{
// For each of the following calls, failure just means we
// did not find the node we\'re looking for, so keep looking.
hr = pTopology->GetNode(i, &pNode);
// Get the node\'s object pointer.
if (SUCCEEDED(hr))
{
hr = pNode->GetObject(&pNodeObject);
}
// Query the node object for the device manager service.
if (SUCCEEDED(hr))
{
hr = MFGetService(
pNodeObject,
MR_VIDEO_ACCELERATION_SERVICE,
IID_PPV_ARGS(&pD3DManager)
);
}
if (SUCCEEDED(hr))
{
// Found the right node. Return the pointers to the caller.
*ppDeviceManager = (IUnknown *)pD3DManager;
(*ppDeviceManager)->AddRef();
*ppNode = pNode;
(*ppNode)->AddRef();
bFound = TRUE;
break;
}
SafeRelease(&pNodeObject);
SafeRelease(&pD3DManager);
SafeRelease(&pNode);
} // End of for loop.
SafeRelease(&pNodeObject);
SafeRelease(&pD3DManager);
SafeRelease(&pNode);
return bFound ? S_OK : E_FAIL;
}
编译上面的代码时,出现以下错误,
1>c:\\program files\\microsoft sdks\\windows\\v7.1\\include\\dxva2api.h(404) : error C4430:
missing type specifier - int assumed. Note: C++ does not support default-int
我在404行查看了dxva2api.h,
typedef struct _DXVA2_VideoProcessorCaps
{
UINT DeviceCaps;
D3DPOOL InputPool; //--> this is line number 404.
参数D3DPOOL在\“ d3d9types.h \”中定义,但未包含在\“ dxva2api.h \”中。我试图修改\“ dxva2api.h \”,但操作失败。如何解决这个问题?有什么建议么?
提前致谢,
斯里
没有找到相关结果
已邀请:
2 个回复
俺呵誓放胳
泪琉踞檄