COPP Video Miniport Driver Open Template Code
This section applies only to Windows Server 2003 SP1 and later, and Windows XP SP2 and later.
Use the following example code to create instances of COPP DirectX VA device objects.
VP_STATUS
IoctlCOPPOpenDevice(
PHW_DEVICE_EXTENSION pHwDeviceExtension,
PVIDEO_REQUEST_PACKET pVideoRequestPacket
)
{
COPP_IO_InputBuffer* pInBuff = pVideoRequestPacket->InputBuffer;
ULONG uDevID = *(ULONG*)pInBuff->InputBuffer;
COPP_DeviceData* pThis = VideoPortAllocatePool(pHwDeviceExtension,
VpPagedPool,
sizeof(COPP_DeviceData),
'PPOC');
*pInBuff->ppThis = NULL;
if (pThis == NULL) {
*pInBuff->phr = ERROR_NOT_ENOUGH_MEMORY;
return NO_ERROR;
}
*pInBuff->phr = COPPOpenVideoSession(pThis, uDevID);
if (*pInBuff->phr == NO_ERROR) {
*pInBuff->ppThis = pThis;
}
else {
VideoPortFreePool(pHwDeviceExtension, pThis);
*pInBuff->ppThis = NULL;
}
return NO_ERROR;
}
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for