Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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;
}