00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
#ifndef __VIDEOAGP_H__
00019 
#define __VIDEOAGP_H__
00020 
00021 
typedef
00022 PHYSICAL_ADDRESS
00023 (*PAGP_RESERVE_PHYSICAL)(
00024     IN PVOID HwDeviceExtension,
00025     IN ULONG Pages,
00026     IN ULONG Caching,
00027     OUT PVOID *PhysicalReserveContext
00028     );
00029 
00030 
typedef
00031 
VOID
00032 (*PAGP_RELEASE_PHYSICAL)(
00033     IN PVOID HwDeviceExtension,
00034     IN PVOID PhysicalReserveContext
00035     );
00036 
00037 
typedef
00038 BOOLEAN
00039 (*PAGP_COMMIT_PHYSICAL)(
00040     IN PVOID HwDeviceExtension,
00041     IN PVOID PhysicalReserveContext,
00042     IN ULONG Pages,
00043     IN ULONG 
Offset
00044     );
00045 
00046 
typedef
00047 
VOID
00048 (*PAGP_FREE_PHYSICAL)(
00049     IN PVOID HwDeviceExtension,
00050     IN PVOID PhysicalReserveContext,
00051     IN ULONG Pages,
00052     IN ULONG 
Offset
00053     );
00054 
00055 
typedef
00056 PVOID
00057 (*PAGP_RESERVE_VIRTUAL)(
00058     IN PVOID HwDeviceExtension,
00059     IN HANDLE ProcessHandle,
00060     IN PVOID PhysicalReserveContext,
00061     OUT PVOID *VirtualReserveContext
00062     );
00063 
00064 
typedef
00065 
VOID
00066 (*PAGP_RELEASE_VIRTUAL)(
00067     IN PVOID HwDeviceExtension,
00068     IN PVOID VirtualReserveContext
00069     );
00070 
00071 
typedef
00072 PVOID
00073 (*PAGP_COMMIT_VIRTUAL)(
00074     IN PVOID HwDeviceExtension,
00075     IN PVOID VirtualReserveContext,
00076     IN ULONG Pages,
00077     IN ULONG 
Offset
00078     );
00079 
00080 
typedef
00081 
VOID
00082 (*PAGP_FREE_VIRTUAL)(
00083     IN PVOID HwDeviceExtension,
00084     IN PVOID VirtualReserveContext,
00085     IN ULONG Pages,
00086     IN ULONG 
Offset
00087     );
00088 
00089 typedef struct _VIDEO_PORT_AGP_SERVICES
00090 {
00091     PAGP_RESERVE_PHYSICAL AgpReservePhysical;
00092     PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
00093     PAGP_COMMIT_PHYSICAL  AgpCommitPhysical;
00094     PAGP_FREE_PHYSICAL    AgpFreePhysical;
00095 
00096     PAGP_RESERVE_VIRTUAL  AgpReserveVirtual;
00097     PAGP_RELEASE_VIRTUAL  AgpReleaseVirtual;
00098     PAGP_COMMIT_VIRTUAL   AgpCommitVirtual;
00099     PAGP_FREE_VIRTUAL     AgpFreeVirtual;
00100     ULONGLONG 
AllocationLimit;
00101 
00102 } 
VIDEO_PORT_AGP_SERVICES, *
PVIDEO_PORT_AGP_SERVICES;
00103 
00104 BOOLEAN
00105 
VideoPortGetAgpServices(
00106     IN PVOID HwDeviceExtension,
00107     IN PVIDEO_PORT_AGP_SERVICES AgpServices
00108     );
00109 
00110 
#endif // ifndef __VIDEOAGP_H__