Código de plantilla abierto del controlador COPP Video Miniport
Esta sección solo se aplica a Windows Server 2003 SP1 y versiones posteriores, y Windows XP SP2 y versiones posteriores.
Use el código de ejemplo siguiente para crear instancias de objetos de dispositivo COPP DirectX VA.
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;
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de