Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

307 lines
9.7 KiB

/******************************Module*Header*******************************\
* Module Name: ddraw.c
*
* Client side stubs for the private DirectDraw VPE system APIs.
*
* Created: 2-Oct-1996
* Author: Lingyun Wang [LingyunW]
*
* Copyright (c) 1995-1999 Microsoft Corporation
\**************************************************************************/
#include "precomp.h"
#pragma hdrstop
#include <ddrawi.h>
#include <dvpp.h>
/*****************************Private*Routine******************************\
* CanCreateVideoPort
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpCanCreateVideoPort(
LPDDHAL_CANCREATEVPORTDATA pCanCreateVideoPort
)
{
return(NtGdiDvpCanCreateVideoPort((HANDLE) pCanCreateVideoPort->lpDD->lpGbl->hDD,
(PDD_CANCREATEVPORTDATA)pCanCreateVideoPort));
}
/*****************************Private*Routine******************************\
* CanCreateVideoPort
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpColorControl (
LPDDHAL_VPORTCOLORDATA pColorControl
)
{
return(NtGdiDvpColorControl((HANDLE) pColorControl->lpDD->lpGbl->hDD,
(PDD_VPORTCOLORDATA)pColorControl));
}
/*****************************Private*Routine******************************\
* CreateVideoPort
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpCreateVideoPort (
LPDDHAL_CREATEVPORTDATA pCreateVideoPort
)
{
return(NtGdiDvpCreateVideoPort((HANDLE) pCreateVideoPort->lpDD->lpGbl->hDD,
(PDD_CREATEVPORTDATA)pCreateVideoPort));
}
/*****************************Private*Routine******************************\
* DestroyVideoPort
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpDestroyVideoPort (
LPDDHAL_DESTROYVPORTDATA pDestroyVideoPort
)
{
return(NtGdiDvpDestroyVideoPort((HANDLE) pDestroyVideoPort->lpDD->lpGbl->hDD,
(PDD_DESTROYVPORTDATA)pDestroyVideoPort));
}
/*****************************Private*Routine******************************\
* FlipVideoPort
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpFlipVideoPort (
LPDDHAL_FLIPVPORTDATA pFlipVideoPort
)
{
return(NtGdiDvpFlipVideoPort((HANDLE) pFlipVideoPort->lpDD->lpGbl->hDD,
(HANDLE) pFlipVideoPort->lpSurfCurr->hDDSurface,
(HANDLE) pFlipVideoPort->lpSurfTarg->hDDSurface,
(PDD_FLIPVPORTDATA)pFlipVideoPort));
}
/*****************************Private*Routine******************************\
* GetCurrentAutoflipSurface
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetCurrentAutoflipSurface (
LPDDHAL_GETVPORTAUTOFLIPSURFACEDATA pGetCurrentflipSurface)
{
return(NtGdiDvpGetCurrentAutoflipSurface((HANDLE) pGetCurrentflipSurface->lpDD->lpGbl->hDD,
(PDD_GETVPORTAUTOFLIPSURFACEDATA)pGetCurrentflipSurface));
}
/*****************************Private*Routine******************************\
* GetVideoPortBandwidthInfo
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoPortBandwidthInfo (
LPDDHAL_GETVPORTBANDWIDTHDATA pGetVPortBandwidthInfo)
{
return(NtGdiDvpGetVideoPortBandwidthInfo((HANDLE) pGetVPortBandwidthInfo->lpDD->lpGbl->hDD,
(PDD_GETVPORTBANDWIDTHDATA)pGetVPortBandwidthInfo));
}
/*****************************Private*Routine******************************\
* GetVideoPortField
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoPortField (
LPDDHAL_GETVPORTFIELDDATA pGetVideoPortField)
{
return(NtGdiDvpGetVideoPortField((HANDLE) pGetVideoPortField->lpDD->lpGbl->hDD,
(PDD_GETVPORTFIELDDATA)pGetVideoPortField));
}
/*****************************Private*Routine******************************\
* GetVideoPortFlipStatus
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoPortFlipStatus (
LPDDHAL_GETVPORTFLIPSTATUSDATA pGetVPortFlipStatus)
{
return(NtGdiDvpGetVideoPortFlipStatus((HANDLE) pGetVPortFlipStatus->lpDD->lpGbl->hDD,
(PDD_GETVPORTFLIPSTATUSDATA)pGetVPortFlipStatus));
}
/*****************************Private*Routine******************************\
* GetVideoPortInputFormats
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoPortInputFormats (
LPDDHAL_GETVPORTINPUTFORMATDATA pGetVPortInputFormats)
{
return(NtGdiDvpGetVideoPortInputFormats((HANDLE) pGetVPortInputFormats->lpDD->lpGbl->hDD,
(PDD_GETVPORTINPUTFORMATDATA)pGetVPortInputFormats));
}
/*****************************Private*Routine******************************\
* GetVideoPortLine
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoPortLine (
LPDDHAL_GETVPORTLINEDATA pGetVideoPortLine)
{
return(NtGdiDvpGetVideoPortLine((HANDLE) pGetVideoPortLine->lpDD->lpGbl->hDD,
(PDD_GETVPORTLINEDATA)pGetVideoPortLine));
}
/*****************************Private*Routine******************************\
* GetVideoPortOutputFormats
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoPortOutputFormats (
LPDDHAL_GETVPORTOUTPUTFORMATDATA pGetVPortOutputFormats)
{
return(NtGdiDvpGetVideoPortOutputFormats((HANDLE) pGetVPortOutputFormats->lpDD->lpGbl->hDD,
(PDD_GETVPORTOUTPUTFORMATDATA)pGetVPortOutputFormats));
}
/*****************************Private*Routine******************************\
* GetVideoPortConnectInfo
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoPortConnectInfo (
LPDDHAL_GETVPORTCONNECTDATA pGetVPortConnectInfo)
{
return(NtGdiDvpGetVideoPortConnectInfo((HANDLE) pGetVPortConnectInfo->lpDD->lpGbl->hDD,
(PDD_GETVPORTCONNECTDATA)pGetVPortConnectInfo));
}
/*****************************Private*Routine******************************\
* GetVideoSignalStatus
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpGetVideoSignalStatus (
LPDDHAL_GETVPORTSIGNALDATA pGetVideoSignalStatus)
{
return(NtGdiDvpVideoSignalStatus((HANDLE) pGetVideoSignalStatus->lpDD->lpGbl->hDD,
(PDD_GETVPORTSIGNALDATA)pGetVideoSignalStatus));
}
/*****************************Private*Routine******************************\
* UpdateVideoPort
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpUpdateVideoPort (
LPDDHAL_UPDATEVPORTDATA pUpdateVideoPort)
{
// WINBUG #82842 2-7-2000 bhouse Code cleanup in DvpUpdateVideoPort
// Instead of 100, we should declare (if one does not already exist) a
// constant for the maximum number of autoflip surfaces. This value should
// be checked when pUpdateVideoPort->dwNumAutoflip is set. An assertion
// should perhaps be made here to ensure we will not walk pass the end
// of the stack based arrary.
HANDLE phDDSurface[100];
DWORD i;
// WINBUG #82844 2-7-2000 bhouse Investigate question in old comment
// Old Comment
// - seems the driver only use lplpDDSurface, why lplpBBVBSurface there?
for (i=0; i< pUpdateVideoPort->dwNumAutoflip; i++)
{
phDDSurface[i] = (HANDLE)(pUpdateVideoPort->lplpDDSurface[i]->lpLcl->hDDSurface);
}
return(NtGdiDvpUpdateVideoPort((HANDLE) pUpdateVideoPort->lpDD->lpGbl->hDD,
(HANDLE *)phDDSurface,
(PDD_UPDATEVPORTDATA)pUpdateVideoPort));
}
/*****************************Private*Routine******************************\
* WaitForVideoPortSync
*
* History:
* 2-Oct-1996 -by- Lingyun Wang [lingyunw]
* Wrote it.
\**************************************************************************/
DWORD
WINAPI
DvpWaitForVideoPortSync (
LPDDHAL_WAITFORVPORTSYNCDATA pWaitForVideoPortSync)
{
return(NtGdiDvpWaitForVideoPortSync((HANDLE) pWaitForVideoPortSync->lpDD->lpGbl->hDD,
(PDD_WAITFORVPORTSYNCDATA)pWaitForVideoPortSync));
}