Filter Driver for Simultaneous GDI and DirectX Data Acquisition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for acquiring Windows GDI and DirectX data simultaneously in real-time remote applications are inefficient, often prohibit DirectX data acquisition, or are complex and difficult to implement, especially in maintaining synchronous and rapid graphics output.

Innovation Solution

A method using a filter driver transparent to the graphics device interface engine and DirectX kernel, intercepting DirectDraw and Direct3D operations through frame switch and bit block transfer, and update interfaces like DDFlip and DDBlit, while maintaining DirectX functionality, allowing for simultaneous interception of GDI and DirectX data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a hooker is used to hook each application in user mode to filter screen change operations, then GDI data can be acquired, but the acquisition efficiency is low and synchronization is complicated

Engineering Contradiction:
ImproveGDI data acquisition capabilityVSAvoidGraphics output acquisition efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a filter driver as an intermediary component installed between the graphics driver and display device. This filter driver intercepts all graphics operations at the driver level, acting as a mediator that captures both GDI and DirectX data streams simultaneously without requiring application-level hooks, thereby resolving the efficiency and synchronization problems

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transitions from user-mode application hooking to kernel-mode driver interception, moving the data acquisition point from the application layer to the system driver layer. This dimensional change in the system architecture enables simultaneous interception of multiple graphics data streams with much higher efficiency

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the Mirror system is used to acquire synchronous screen changes efficiently, then GDI data acquisition is improved, but DirectX application is automatically prohibited

Engineering Contradiction:
ImproveSynchronous screen change acquisition efficiencyVSAvoidDirectX data acquisition capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the graphics data stream into multiple types (GDI data, DirectDraw data, Direct3D data) and intercepts them separately through the filter driver. By segmenting the interception targets, the system can efficiently capture synchronous changes while simultaneously supporting both GDI and DirectX applications without mutual prohibition

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The filter driver is designed with multi-functionality to handle both traditional GDI graphics operations and modern DirectX operations. It implements universal interception capabilities that work across different graphics APIs, allowing the system to maintain DirectX functionality while enabling efficient synchronous acquisition of all graphics data

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If DirectX COM interface is intercepted in user mode to acquire DirectX data, then DirectX data acquisition is enabled, but GDI data cannot be processed

Engineering Contradiction:
ImproveDirectX data acquisition capabilityVSAvoidGDI data processing capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The filter driver serves as a universal intermediary that intercepts graphics operations before they reach the display device. It can identify and capture both DirectX COM interface calls and GDI operations, converting them into a unified data format that can be processed simultaneously, thereby enabling dual-capability data acquisition

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If a filter driver is used to acquire GDI data while maintaining DirectX interface availability, then both GDI and DirectX data can be intercepted, but the system becomes complex and difficult to implement

Engineering Contradiction:
ImproveSimultaneous GDI and DirectX data acquisitionVSAvoidSystem implementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the interception of GDI and DirectX data streams into a single filter driver implementation. By combining multiple data acquisition functions into one unified driver, the system reduces implementation complexity compared to using multiple separate hooks or drivers, while maintaining the capability to intercept both GDI and DirectX operations

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8327387B2Method for acquisition of GDI and directX data
Publication Date: 2012.12.04 LEGEND HOLDINGS
  • US8327387B2 patent drawing
  • US8327387B2 patent drawing
  • US8327387B2 patent drawing

AI summary

A method for acquiring graphics device interface data and DirectX data by use of a filter driver transparent to transparent to a graphics device interface engine, DirectX kernel and a real display driver is disclosed, the method comprises steps of: updating the graphics device interface, and acquiring the graphics device interface data by use of a corresponding graphics device interface function in the filter driver; acquiring, for DirectDraw in DirectX, DirectDraw application and video update data by intercepting frame switch and bit block transfer operations of DirectDraw part; acquiring, for Direct3D in DirectX, data of Direct3D application by intercepting the update interface of Direct3D part. With the method of present invention, an integral acquisition of Windows GDI and DirectX data can be achieved while DirectX function remains available.