mirror of
https://github.com/mpv-player/mpv
synced 2025-01-11 17:39:38 +00:00
- make dhahelperwin compile with mingw
- add dhahelper.rc based on code by Kevin Kofler and Romain Liévin <roms at lievin.net> from the tilp project http://svn.tilp.info/cgi-bin/viewcvs.cgi/libticables/trunk/src/win32/dha/ git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24561 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
bdae402dca
commit
04145051ba
42
vidix/dhahelperwin/Makefile
Normal file
42
vidix/dhahelperwin/Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
include ../../config.mak
|
||||
|
||||
all: dhasetup.exe dhahelper.sys
|
||||
|
||||
dhasetup.exe: dhasetup.c
|
||||
$(CC) -o dhasetup.exe dhasetup.c
|
||||
|
||||
dhahelper.o: dhahelper.c dhahelper.h
|
||||
$(CC) -Wall -Os -c dhahelper.c -o dhahelper.o
|
||||
|
||||
dhahelper-rc.o: dhahelper.rc common.ver ntverp.h
|
||||
windres -I. dhahelper.rc $@
|
||||
|
||||
base.tmp: dhahelper.o dhahelper-rc.o
|
||||
$(CC) -Wl,--base-file,base.tmp \
|
||||
-Wl,--entry,_DriverEntry@8 \
|
||||
-nostartfiles -nostdlib \
|
||||
-o junk.tmp \
|
||||
dhahelper.o dhahelper-rc.o \
|
||||
-lntoskrnl
|
||||
-rm -f junk.tmp
|
||||
|
||||
temp.exp: base.tmp
|
||||
dlltool --dllname dhahelper.sys --base-file base.tmp --output-exp temp.exp
|
||||
|
||||
dhahelper.sys: dhahelper.o dhahelper-rc.o temp.exp
|
||||
$(CC) -Wl,--subsystem,native \
|
||||
-Wl,--image-base,0x10000 \
|
||||
-Wl,--file-alignment,0x1000 \
|
||||
-Wl,--section-alignment,0x1000 \
|
||||
-Wl,--entry,_DriverEntry@8 \
|
||||
-Wl,temp.exp \
|
||||
-mdll -nostartfiles -nostdlib \
|
||||
-o dhahelper.sys \
|
||||
dhahelper.o dhahelper-rc.o \
|
||||
-lntoskrnl
|
||||
strip dhahelper.sys
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ dhahelper.sys dhasetup.exe base.tmp temp.exp
|
||||
|
||||
distclean: clean
|
@ -3,4 +3,4 @@ TARGETPATH=.
|
||||
TARGETTYPE=DRIVER
|
||||
NTDEBUG=ntsd
|
||||
|
||||
SOURCES= dhahelper.c
|
||||
SOURCES= dhahelper.c dhahelper.rc
|
||||
|
207
vidix/dhahelperwin/common.ver
Normal file
207
vidix/dhahelperwin/common.ver
Normal file
@ -0,0 +1,207 @@
|
||||
/*
|
||||
* PROJECT: ReactOS
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: include/psdk/common.ver
|
||||
* PURPOSE: Common Version File.
|
||||
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
||||
*/
|
||||
|
||||
//
|
||||
// Copyright Year
|
||||
//
|
||||
#ifndef VER_LEGALCOPYRIGHT_YEARS
|
||||
#define VER_LEGALCOPYRIGHT_YEARS "2007"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Copyright String
|
||||
//
|
||||
#ifndef VER_LEGALCOPYRIGHT_STR
|
||||
#if defined(RC_INVOKED) && !defined(WIN16)
|
||||
#define VER_LEGALCOPYRIGHT_STR L"\251 ReactOS Foundation. All rights reserved."
|
||||
#else
|
||||
#define VER_LEGALCOPYRIGHT_STR "Copyright (c) ReactOS Foundation. All rights reserved."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Product Name String
|
||||
//
|
||||
#ifndef VER_PRODUCTNAME_STR
|
||||
#ifdef RC_INVOKED
|
||||
#define VER_PRODUCTNAME_STR L"ReactOS\256 Operating System"
|
||||
#else
|
||||
#define VER_PRODUCTNAME_STR "ReactOS (R) Operating System"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// The File Version is the same as the Product Version
|
||||
//
|
||||
#ifndef VER_FILEVERSION
|
||||
#define VER_FILEVERSION VER_PRODUCTVERSION
|
||||
#endif
|
||||
#ifndef VER_FILEVERSION_STR
|
||||
#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
|
||||
#endif
|
||||
|
||||
//
|
||||
// If no Original Name was given, use the Internal NAme
|
||||
//
|
||||
#ifndef VER_ORIGINALFILENAME_STR
|
||||
#define VER_ORIGINALFILENAME_STR VER_INTERNALNAME_STR
|
||||
#endif
|
||||
|
||||
//
|
||||
// Allow tagging a Build by Machine/Date
|
||||
//
|
||||
#if defined(__BUILDMACHINE__)
|
||||
#if defined(__BUILDDATE__)
|
||||
#define B2(x,y) " (" #x "." #y ")"
|
||||
#define B1(x,y) B2(x, y)
|
||||
#define BUILD_MACHINE_TAG B1(__BUILDMACHINE__, __BUILDDATE__)
|
||||
#else
|
||||
#define B2(x) " built by: " #x
|
||||
#define B1(x) B2(x)
|
||||
#define BUILD_MACHINE_TAG B1(__BUILDMACHINE__)
|
||||
#endif
|
||||
#if defined(__BUILDMACHINE_LEN__)
|
||||
#if __BUILDMACHINE_LEN__ >= 25
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
|
||||
#elif __BUILDMACHINE_LEN__ == 24
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 23
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 22
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 21
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 20
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 19
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 18
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 17
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 16
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 15
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 14
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 13
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 12
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 11
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 10
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 9
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 8
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 7
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 6
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 5
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 4
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 3
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 2
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#elif __BUILDMACHINE_LEN__ == 1
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
|
||||
#else
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
|
||||
#endif
|
||||
#else
|
||||
#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
|
||||
#endif
|
||||
#else
|
||||
#define BUILD_MACHINE_TAG
|
||||
#define BUILD_MACHINE_TAG_PADDED
|
||||
#endif
|
||||
|
||||
//
|
||||
// Set default neutral Unicode Language ID
|
||||
//
|
||||
#ifndef VER_VERSION_UNICODE_LANG
|
||||
#define VER_VERSION_UNICODE_LANG "000004B0"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Set default netural ANSI Language ID
|
||||
//
|
||||
#ifndef VER_VERSION_ANSI_LANG
|
||||
#define VER_VERSION_ANSI_LANG "000004E4"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Set default netural translation ID
|
||||
//
|
||||
#ifndef VER_VERSION_TRANSLATION
|
||||
#define VER_VERSION_TRANSLATION 0x0000, 0x04B0
|
||||
#endif
|
||||
|
||||
//
|
||||
// Make sure the Resource Compiler called us.
|
||||
// If so, then build the actual version resource.
|
||||
//
|
||||
#ifdef RC_INVOKED
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION VER_FILEVERSION
|
||||
PRODUCTVERSION VER_PRODUCTVERSION
|
||||
FILEFLAGSMASK VER_FILEFLAGSMASK
|
||||
FILEFLAGS VER_FILEFLAGS
|
||||
FILEOS VER_FILEOS
|
||||
FILETYPE VER_FILETYPE
|
||||
FILESUBTYPE VER_FILESUBTYPE
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK VER_VERSION_UNICODE_LANG
|
||||
BEGIN
|
||||
VALUE "CompanyName", VER_COMPANYNAME_STR
|
||||
VALUE "FileDescription", VER_FILEDESCRIPTION_STR
|
||||
VALUE "FileVersion", VER_FILEVERSION_STR BUILD_MACHINE_TAG_PADDED
|
||||
VALUE "InternalName", VER_INTERNALNAME_STR
|
||||
VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
|
||||
VALUE "OriginalFilename",VER_ORIGINALFILENAME_STR
|
||||
VALUE "ProductName", VER_PRODUCTNAME_STR
|
||||
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
|
||||
#ifdef VER_OLESELFREGISTER
|
||||
VALUE "OleSelfRegister", "\0"
|
||||
#endif
|
||||
END
|
||||
|
||||
#ifdef VER_ANSICP
|
||||
BLOCK VER_VERSION_ANSI_LANG
|
||||
BEGIN
|
||||
VALUE "CompanyName", VER_COMPANYNAME_STR
|
||||
VALUE "FileDescription", VER_FILEDESCRIPTION_STR EXPORT_TAG
|
||||
VALUE "FileVersion", VER_FILEVERSION_STR
|
||||
VALUE "InternalName", VER_INTERNALNAME_STR
|
||||
VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
|
||||
VALUE "OriginalFilename",VER_ORIGINALFILENAME_STR
|
||||
VALUE "ProductName", VER_PRODUCTNAME_STR
|
||||
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
|
||||
#ifdef VER_OLESELFREGISTER
|
||||
VALUE "OleSelfRegister", "\0"
|
||||
#endif
|
||||
END
|
||||
#endif
|
||||
END
|
||||
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", VER_VERSION_TRANSLATION
|
||||
END
|
||||
END
|
||||
|
||||
#endif
|
@ -1,6 +1,8 @@
|
||||
/******************************************************************************
|
||||
* dhahelper.c: direct hardware access under Windows NT/2000/XP
|
||||
* Copyright (c) 2004 Sascha Sommer <saschasommer@freenet.de>.
|
||||
* Patched to compile with MinGW by Kevin Kofler:
|
||||
* Copyright (c) 2007 Kevin Kofler
|
||||
*
|
||||
* This file is part of MPlayer.
|
||||
*
|
||||
@ -21,7 +23,18 @@
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#include <ntddk.h>
|
||||
#ifndef STDCALL
|
||||
#define STDCALL /* nothing */
|
||||
#endif
|
||||
#elif defined(__MINGW32__)
|
||||
#include <ddk/ntddk.h>
|
||||
#define NO_SEH /* FIXME */
|
||||
#else
|
||||
#error Unsupported compiler. This driver requires MSVC+DDK or MinGW to build.
|
||||
#endif
|
||||
|
||||
#include "dhahelper.h"
|
||||
|
||||
#define OutputDebugString DbgPrint
|
||||
@ -47,20 +60,20 @@ static unsigned int alloccount=0;
|
||||
|
||||
|
||||
|
||||
static NTSTATUS dhahelperdispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
|
||||
static void dhahelperunload(IN PDRIVER_OBJECT DriverObject);
|
||||
static NTSTATUS UnmapPhysicalMemory(PVOID UserVirtualAddress);
|
||||
static NTSTATUS MapPhysicalMemoryToLinearSpace(PVOID pPhysAddress,ULONG PhysMemSizeInBytes,PVOID *PhysMemLin);
|
||||
static STDCALL NTSTATUS dhahelperdispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
|
||||
static STDCALL void dhahelperunload(IN PDRIVER_OBJECT DriverObject);
|
||||
static STDCALL NTSTATUS UnmapPhysicalMemory(PVOID UserVirtualAddress);
|
||||
static STDCALL NTSTATUS MapPhysicalMemoryToLinearSpace(PVOID pPhysAddress,ULONG PhysMemSizeInBytes,PVOID *PhysMemLin);
|
||||
|
||||
void Ke386SetIoAccessMap(int, IOPM *);
|
||||
void Ke386QueryIoAccessMap(int, IOPM *);
|
||||
void Ke386IoSetAccessProcess(PEPROCESS, int);
|
||||
void STDCALL Ke386SetIoAccessMap(int, IOPM *);
|
||||
void STDCALL Ke386QueryIoAccessMap(int, IOPM *);
|
||||
void STDCALL Ke386IoSetAccessProcess(PEPROCESS, int);
|
||||
|
||||
|
||||
|
||||
|
||||
//entry point
|
||||
NTSTATUS DriverEntry (IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath){
|
||||
STDCALL NTSTATUS DriverEntry (IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath){
|
||||
UNICODE_STRING DeviceNameUnicodeString;
|
||||
UNICODE_STRING DeviceLinkUnicodeString;
|
||||
NTSTATUS ntStatus;
|
||||
@ -106,7 +119,7 @@ NTSTATUS DriverEntry (IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING Registry
|
||||
|
||||
// Process the IRPs sent to this device
|
||||
|
||||
static NTSTATUS dhahelperdispatch(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp){
|
||||
static STDCALL NTSTATUS dhahelperdispatch(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp){
|
||||
PIO_STACK_LOCATION IrpStack;
|
||||
ULONG dwInputBufferLength;
|
||||
ULONG dwOutputBufferLength;
|
||||
@ -207,7 +220,7 @@ static NTSTATUS dhahelperdispatch(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp){
|
||||
|
||||
// Delete the associated device and return
|
||||
|
||||
static void dhahelperunload(IN PDRIVER_OBJECT DriverObject){
|
||||
static STDCALL void dhahelperunload(IN PDRIVER_OBJECT DriverObject){
|
||||
UNICODE_STRING DeviceLinkUnicodeString;
|
||||
NTSTATUS ntStatus=STATUS_SUCCESS;
|
||||
OutputDebugString ("dhahelper: entering dhahelperunload");
|
||||
@ -240,7 +253,7 @@ static void dhahelperunload(IN PDRIVER_OBJECT DriverObject){
|
||||
//I'm not sure what the limitations of ZwMapViewOfSection are but mapping 128MB videoram (that is probably already mapped by the gfxcard driver)
|
||||
//won't work so it is generally a good idea to map only the memory you really need
|
||||
|
||||
static NTSTATUS MapPhysicalMemoryToLinearSpace(PVOID pPhysAddress,ULONG PhysMemSizeInBytes,PVOID *PhysMemLin){
|
||||
static STDCALL NTSTATUS MapPhysicalMemoryToLinearSpace(PVOID pPhysAddress,ULONG PhysMemSizeInBytes,PVOID *PhysMemLin){
|
||||
alloc_priv* alloclisttmp;
|
||||
PMDL Mdl=NULL;
|
||||
PVOID SystemVirtualAddress=NULL;
|
||||
@ -248,8 +261,14 @@ static NTSTATUS MapPhysicalMemoryToLinearSpace(PVOID pPhysAddress,ULONG PhysMemS
|
||||
PHYSICAL_ADDRESS pStartPhysAddress;
|
||||
OutputDebugString ("dhahelper: entering MapPhysicalMemoryToLinearSpace");
|
||||
|
||||
#ifdef _WIN64
|
||||
pStartPhysAddress.QuadPart = (ULONGLONG)pPhysAddress;
|
||||
#else
|
||||
pStartPhysAddress.QuadPart = (ULONGLONG)(ULONG)pPhysAddress;
|
||||
#endif
|
||||
#ifndef NO_SEH
|
||||
__try {
|
||||
#endif
|
||||
SystemVirtualAddress=MmMapIoSpace(pStartPhysAddress,PhysMemSizeInBytes, /*MmWriteCombined*/MmNonCached);
|
||||
if(!SystemVirtualAddress){
|
||||
OutputDebugString("dhahelper: MmMapIoSpace failed");
|
||||
@ -263,18 +282,24 @@ static NTSTATUS MapPhysicalMemoryToLinearSpace(PVOID pPhysAddress,ULONG PhysMemS
|
||||
}
|
||||
OutputDebugString("dhahelper: Mdl 0x%x",Mdl);
|
||||
MmBuildMdlForNonPagedPool(Mdl);
|
||||
#ifdef _WIN64
|
||||
UserVirtualAddress = (PVOID)(((ULONGLONG)PAGE_ALIGN(MmMapLockedPages(Mdl,UserMode))) + MmGetMdlByteOffset(Mdl));
|
||||
#else
|
||||
UserVirtualAddress = (PVOID)(((ULONG)PAGE_ALIGN(MmMapLockedPages(Mdl,UserMode))) + MmGetMdlByteOffset(Mdl));
|
||||
#endif
|
||||
if(!UserVirtualAddress){
|
||||
OutputDebugString("dhahelper: MmMapLockedPages failed");
|
||||
return STATUS_INSUFFICIENT_RESOURCES;
|
||||
}
|
||||
OutputDebugString("dhahelper: UserVirtualAddress 0x%x",UserVirtualAddress);
|
||||
#ifndef NO_SEH
|
||||
}__except(EXCEPTION_EXECUTE_HANDLER){
|
||||
NTSTATUS ntStatus;
|
||||
ntStatus = GetExceptionCode();
|
||||
OutputDebugString("dhahelper: MapPhysicalMemoryToLinearSpace failed due to exception 0x%0x\n", ntStatus);
|
||||
return ntStatus;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
OutputDebugString("dhahelper: adding data to internal allocation list");
|
||||
@ -304,7 +329,7 @@ static NTSTATUS MapPhysicalMemoryToLinearSpace(PVOID pPhysAddress,ULONG PhysMemS
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static NTSTATUS UnmapPhysicalMemory(PVOID UserVirtualAddress){
|
||||
static STDCALL NTSTATUS UnmapPhysicalMemory(PVOID UserVirtualAddress){
|
||||
unsigned int i;
|
||||
unsigned int x=0;
|
||||
unsigned int alloccounttmp=alloccount;
|
||||
@ -327,16 +352,20 @@ static NTSTATUS UnmapPhysicalMemory(PVOID UserVirtualAddress){
|
||||
}
|
||||
else if(alloclist[i].UserVirtualAddress==UserVirtualAddress){
|
||||
if(x==i){
|
||||
#ifndef NO_SEH
|
||||
__try {
|
||||
#endif
|
||||
MmUnmapLockedPages(alloclist[x].UserVirtualAddress, alloclist[x].Mdl);
|
||||
IoFreeMdl(alloclist[x].Mdl);
|
||||
MmUnmapIoSpace(alloclist[x].SystemVirtualAddress,alloclist[x].PhysMemSizeInBytes);
|
||||
#ifndef NO_SEH
|
||||
}__except(EXCEPTION_EXECUTE_HANDLER){
|
||||
NTSTATUS ntStatus;
|
||||
ntStatus = GetExceptionCode();
|
||||
OutputDebugString("dhahelper: UnmapPhysicalMemory failed due to exception 0x%0x (Mdl 0x%x)\n", ntStatus,alloclist[x].Mdl);
|
||||
return ntStatus;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
alloccounttmp--;
|
||||
}
|
||||
|
17
vidix/dhahelperwin/dhahelper.rc
Normal file
17
vidix/dhahelperwin/dhahelper.rc
Normal file
@ -0,0 +1,17 @@
|
||||
#include <windows.h>
|
||||
|
||||
#include <ntverp.h>
|
||||
|
||||
#undef VER_COMPANYNAME_STR
|
||||
#undef VER_PRODUCTNAME_STR
|
||||
|
||||
#define VER_FILETYPE VFT_DRV
|
||||
#define VER_FILESUBTYPE VFT2_DRV_SYSTEM
|
||||
#define VER_FILEDESCRIPTION_STR "DhaHelper - Direct HardWare Access Driver"
|
||||
#define VER_INTERNALNAME_STR "DhaHelper.sys"
|
||||
#define VER_ORIGINALFILENAME_STR "DhaHelper.sys"
|
||||
#define VER_LEGALCOPYRIGHT_STR "Sascha Sommer"
|
||||
#define VER_COMPANYNAME_STR "MPlayer <http://svn.mplayerhq.hu/mplayer/trunk/vidix/dhahelperwin/>"
|
||||
#define VER_PRODUCTNAME_STR "DhaHelper Driver V1.0"
|
||||
|
||||
#include "common.ver"
|
151
vidix/dhahelperwin/ntverp.h
Normal file
151
vidix/dhahelperwin/ntverp.h
Normal file
@ -0,0 +1,151 @@
|
||||
/*
|
||||
* PROJECT: ReactOS
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: include/psdk/ntverp.h
|
||||
* PURPOSE: Master Version File.
|
||||
* This file should be modified only by the official builder
|
||||
* to update VERSION, VER_PRODUCTVERSION, VER_PRODUCTVERSION_
|
||||
* STR and VER_PRODUCTBETA_STR values.
|
||||
* The VER_PRODUCTBUILD lines must contain the product
|
||||
* comments and end with the build#<CR><LF>.
|
||||
* The VER_PRODUCTBETA_STR lines must contain the product
|
||||
* comments and end with "somestring"<CR><LF.
|
||||
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
||||
*/
|
||||
|
||||
//
|
||||
// Windows NT Build 3790.1830
|
||||
//
|
||||
#define VER_PRODUCTBUILD 3790
|
||||
#define VER_PRODUCTBUILD_QFE 1830
|
||||
|
||||
//
|
||||
// Windows NT Version 5.2
|
||||
//
|
||||
#define VER_PRODUCTMAJORVERSION 5
|
||||
#define VER_PRODUCTMINORVERSION 2
|
||||
#define VER_PRODUCTVERSION_W (0x0502)
|
||||
#define VER_PRODUCTVERSION_DW (0x05020000 | VER_PRODUCTBUILD)
|
||||
|
||||
//
|
||||
// Not a beta
|
||||
//
|
||||
#define VER_PRODUCTBETA_STR ""
|
||||
|
||||
//
|
||||
// ANSI String Generating Macros
|
||||
//
|
||||
#define VER_PRODUCTVERSION_MAJORMINOR2(x,y) \
|
||||
#x "." #y
|
||||
#define VER_PRODUCTVERSION_MAJORMINOR1(x,y) \
|
||||
VER_PRODUCTVERSION_MAJORMINOR2(x, y)
|
||||
#define VER_PRODUCTVERSION_STRING \
|
||||
VER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)
|
||||
|
||||
//
|
||||
// Unicode String Generating Macros
|
||||
//
|
||||
#define LVER_PRODUCTVERSION_MAJORMINOR2(x,y)\
|
||||
L#x L"." L#y
|
||||
#define LVER_PRODUCTVERSION_MAJORMINOR1(x,y)\
|
||||
LVER_PRODUCTVERSION_MAJORMINOR2(x, y)
|
||||
#define LVER_PRODUCTVERSION_STRING \
|
||||
LVER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)
|
||||
|
||||
//
|
||||
// Full Product Version
|
||||
//
|
||||
#define VER_PRODUCTVERSION \
|
||||
VER_PRODUCTMAJORVERSION,VER_PRODUCTMINORVERSION,VER_PRODUCTBUILD,VER_PRODUCTBUILD_QFE
|
||||
|
||||
//
|
||||
// Padding for ANSI Version String
|
||||
//
|
||||
#if (VER_PRODUCTBUILD < 10)
|
||||
#define VER_BPAD "000"
|
||||
#elif (VER_PRODUCTBUILD < 100)
|
||||
#define VER_BPAD "00"
|
||||
#elif (VER_PRODUCTBUILD < 1000)
|
||||
#define VER_BPAD "0"
|
||||
#else
|
||||
#define VER_BPAD
|
||||
#endif
|
||||
|
||||
//
|
||||
// Padding for Unicode Version String
|
||||
//
|
||||
#if (VER_PRODUCTBUILD < 10)
|
||||
#define LVER_BPAD L"000"
|
||||
#elif (VER_PRODUCTBUILD < 100)
|
||||
#define LVER_BPAD L"00"
|
||||
#elif (VER_PRODUCTBUILD < 1000)
|
||||
#define LVER_BPAD L"0"
|
||||
#else
|
||||
#define LVER_BPAD
|
||||
#endif
|
||||
|
||||
//
|
||||
// ANSI Product Version String
|
||||
//
|
||||
#define VER_PRODUCTVERSION_STR2(x,y) \
|
||||
VER_PRODUCTVERSION_STRING "." VER_BPAD #x "." #y
|
||||
#define VER_PRODUCTVERSION_STR1(x,y) \
|
||||
VER_PRODUCTVERSION_STR2(x, y)
|
||||
#define VER_PRODUCTVERSION_STR \
|
||||
VER_PRODUCTVERSION_STR1(VER_PRODUCTBUILD, VER_PRODUCTBUILD_QFE)
|
||||
|
||||
//
|
||||
// Unicode Product Version String
|
||||
//
|
||||
#define LVER_PRODUCTVERSION_STR2(x,y) \
|
||||
LVER_PRODUCTVERSION_STRING L"." LVER_BPAD L#x L"." L#y
|
||||
#define LVER_PRODUCTVERSION_STR1(x,y) \
|
||||
LVER_PRODUCTVERSION_STR2(x, y)
|
||||
#define LVER_PRODUCTVERSION_STR \
|
||||
LVER_PRODUCTVERSION_STR1(VER_PRODUCTBUILD, VER_PRODUCTBUILD_QFE)
|
||||
|
||||
//
|
||||
// Debug Flag
|
||||
//
|
||||
#if DBG
|
||||
#define VER_DEBUG VS_FF_DEBUG
|
||||
#else
|
||||
#define VER_DEBUG 0
|
||||
#endif
|
||||
|
||||
//
|
||||
// Beta Flag
|
||||
//
|
||||
#if BETA
|
||||
#define VER_PRERELEASE VS_FF_PRERELEASE
|
||||
#else
|
||||
#define VER_PRERELEASE 0
|
||||
#endif
|
||||
|
||||
//
|
||||
// Internal Flag
|
||||
//
|
||||
#if OFFICIAL_BUILD
|
||||
#define VER_PRIVATE 0
|
||||
#else
|
||||
#define VER_PRIVATE VS_FF_PRIVATEBUILD
|
||||
#endif
|
||||
|
||||
//
|
||||
// Other Flags
|
||||
//
|
||||
#define VER_FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||
#define VER_FILEOS VOS_NT_WINDOWS32
|
||||
#define VER_FILEFLAGS (VER_PRERELEASE | \
|
||||
VER_DEBUG | \
|
||||
VER_PRIVATE)
|
||||
|
||||
//
|
||||
// Company and Trademarks
|
||||
//
|
||||
#define VER_COMPANYNAME_STR \
|
||||
"ReactOS(R) Foundation"
|
||||
#define VER_PRODUCTNAME_STR \
|
||||
"ReactOS(R) Operating System"
|
||||
#define VER_LEGALTRADEMARKS_STR \
|
||||
"ReactOS(R) is a registered trademark of the ReactOS Foundation."
|
Loading…
Reference in New Issue
Block a user