COPPOpenVideoSession 函数
示例 COPPOpenVideoSession 函数初始化用于当前视频会话的 COPP DirectX VA 设备对象。
语法
HRESULT COPPOpenVideoSession(
_In_ COPP_DeviceData pThis,
_In_ ULONG DevID
);
参数
pThis [in]
- 指向 COPP DirectX VA 设备对象的指针。
DevID [in]
- 提供 COPP 设备所附加到的图形设备的标识符。
返回值
如果成功,则返回零 (S_OK 或DD_OK) ;否则,将返回错误代码。
注解
在调用 COPP 设备类的任何其他成员函数之前,必须通过调用 COPPOpenVideoSession 来初始化 COPP 设备。 COPPOpenVideoSession 应初始化 (设置为 0) 视频会话针对每种受支持的保护类型的本地保护级别,并递增相应的全局保护级别计数器。 有关详细信息,请参阅处理保护级别。
如果 DevID 参数标识的设备驱动使用 DualView 以外的模式的多个图形适配器,则 COPPOpenVideoSession 应返回DDERR_UNSUPPORTEDMODE。 有关详细信息,请参阅 COPP 和 Multiple-Monitor 支持。
示例 COPPOpenVideoSession 函数直接映射到 DD_MOTIONCOMPCALLBACKS 结构的 CreateMoComp 成员。 CreateMoComp 成员指向引用DD_CREATEMOCOMPDATA结构的显示驱动程序提供的 DdMoCompCreate 回调函数。 DD_CREATEMOCOMPDATA 的 lpGuid 成员指向 COPP DirectX VA 设备 GUID。
示例代码
以下代码提供了如何实现 COPPOpenVideoSession 函数的示例:
HRESULT
COPPOpenVideoSession(
COPP_DeviceData* pThis,
DWORD DevID
)
{
DWORD i;
pThis->m_DevID = DevID;
pThis->m_CmdSeqNumber = (DWORD)-1;
pThis->m_StatusSeqNumber = (DWORD)-1;
pThis->m_COPPDevState = COPP_OPENED;
memset(&pThis->m_AesHelper, 0, sizeof(pThis->m_AesHelper));
//
// make sure the session protection levels are reset
//
memset(&pThis->m_LocalLevel, 0, sizeof(pThis->m_LocalLevel));
//
// initialize the session local protection levels and
// increment the corresponding global protection level counter
//
// enumerate all the protection types supported by this connector
DWORD j;
for (j = COPP_ProtectionType_HDCP, i = COPP_ProtectionTypeIndex_HDCP;
j & COPP_ProtectionType_Mask; j <<= 1, i++) {
// for each type supported, make sure the initial level
// is set correctly
if (g_ConnectorInfo[pThis->m_DevID].ProtectionTypeMask & j) {
pThis->m_LocalLevel[i] = 0;
g_COPPLevels[pThis->m_DevID].Levels[i][0]++;
}
else {
pThis->m_LocalLevel[i] = COPP_NoProtectionLevelAvailable;
}
}
return NO_ERROR;
}
要求
目标平台 | 版本 |
---|---|
桌面 | 此函数仅适用于 SP1 及更高版本的 Windows Server 2003 以及 SP2 及更高版本的 Windows XP。 |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈