Mirror driver mirroring Drive, directly create a virtual graphics driver (personally think), the application calls the operating system needs to change the graphics display in advance intercept the application needs to display the area and content, and buffer into memory. Comparing the methods that capture the screen in real time and compare differences has the following advantages:
1, CPU occupancy rate is small, generally under 5%, real-time high
2, do not need to compare differences, because the interception is the difference part of the image buffer
Required driver files:
Mirror.dll, Mirror.inf, Mirror.sys
How to obtain these files:
1. Download Win2K DDK from Microsoft website
2, installation DDK, such as F:/W2KDDK
3, compile f:/w2kddk/src/video/displays/mirror/dll/under Mirror.dll, compile method: After installing DDK in the Start menu-Development kits–windows Run free build environment into DOS mode, enter the above directory, enter build SZ
4, compile F:/w2kddk/src/video/miniport/mirror Mirror.sys
5, copy or modify F:/w2kddk/src/video/displays/mirror/app/mirror.inf files, driver files
[Version]
Signature= "$CHICAGO $"
provider=%microsoft%
CLASSGUID={4D36E968-E325-11CE-BFC1-08002BE10318}
Class=display
driverver=06/01/1999,1.0
[DestinationDirs]
DefaultDestDir = 11
Mirror. Miniport = 12; Drivers
Mirror. Display = 11; System32
;
; Driver Information
;
[Manufacturer]
%microsoft% = MIRROR.MFG
[MIRROR.MFG]
%mirror% = Mirror, microsoft_mirror_sample1
;
; General Installation Section
;
[Mirror]
Copyfiles=mirror. Miniport, Mirror. Display
;
; File Sections
;
[Mirror. Miniport]
Mirror.sys
[Mirror. Display]
Mirror.dll
;
; Service Installation
;
[Mirror. Services]
AddService = Mirror, 0x00000002, Mirror_service_inst, Mirror_eventlog_inst
[Mirror_service_inst]
ServiceType = 1; Service_kernel_driver
StartType = 1; Service_system_start
ErrorControl = 0; Service_error_ignore
Loadordergroup = Video
Servicebinary =%12%/mirror.sys
[Mirror_eventlog_inst]
AddReg = Mirror_eventlog_addreg
[Mirror_eventlog_addreg]
hkr,,eventmessagefile,0x00020000, "%systemroot%/system32/iologmsg.dll;%systemroot%/system32/drivers/mirror.sys."
hkr,,typessupported,0x00010001,7
;
; Software Installation
;
[Mirror. Softwaresettings]
AddReg = mirror_softwaredevicesettings
[Mirror_softwaredevicesettings]
HKR, Mirrordriver,%reg_dword%, 1
HKR, InstalledDisplayDrivers,%reg_multi_sz%, Mirror
HKR, vgacompatible,%reg_dword%, 0
HKR, Attach.todesktop,%reg_dword%, 1
[Mirror. Openglsoftwaresettings]
AddReg = mirror_openglsoftwaresettings
[Mirror_openglsoftwaresettings]
;
; Not currently used:
;
[Mirror. Generalconfigdata]
Maximumnumberofdevices = 1
keepexistingdriverenabled = 1
;
; Source File Information
;
[Sourcedisksnames.x86]
1 =%diskid%,,, ""
[SourceDisksFiles]
Mirror.sys = 1
Mirror.dll = 1
[Strings]
;
; Non-localizable Strings
;
REG_SZ = 0x00000000
REG_MULTI_SZ = 0x00010000
REG_EXPAND_SZ = 0x00020000
REG_BINARY = 0x00000001
REG_DWORD = 0x00010001
Serviceroot = "System/currentcontrolset/services"
;
; Localizable Strings
;
DiskId = "Mirror installation DISK (VIDEO)"
Graphadap = "Graphics Adapter"
Microsoft = "Microsoftsoft"
Mirror = "Microsoft Mirror driver can modify the displayed information here"
6, install drive into Control Panel – Add Hardware – Add New hardware – Manually select hardware devices – Display cards – from disk installation – Select mirror.inf– Complete
7, open Device Manager, and verify that the mirror driver
installation is installed under the display card After the completion, System32/drivers/mirror.sys and System32/mirror.dll to exist separately.
really fast, plus peer-to-peer, from the development of the application to see the effect of VNC, Remote Desktop
This article from the Iceberg of the podcast http://xinsync.xju.edu.cn, the original address: http://xinsync.xju.edu.cn/ index.php/archives/4839