Comments (7)
- See umdf2/pch.h. For further information, see iddcx.h
- No. The new monitor is enumerated by Windows after we call the API which reports the arrival of a new monitor.
from screenexpander.
I thank you for your reply.
Now, It works on my setup!
I have another question for you.
I saw the multi-monitor is supported in Screen Adapter class and Monitor Class (and ioControl).
But when I try to create more than a monitor, it does not work.
The error is "Error value: 1117 Message: The request could not be performed because of an I/O device error".
Do you have any suggestions about this error?
Because I know, the C# client application and the PIPE server do not support multi-monitor.
Thus, I've expected an error in another region of the code not during the creation of a new monitor.
Thanks for your time.
[UPDATE]
The error comes out during the IndirectAdapter::NewMonitorArrives method,
precisely when IddCxMonitorArrival is called.
So, I wrote another pipe server in order to send a sequence of logs.
I got the output of this problem:
- First monitor:
IddCxMonitorArrival success, id:0 < FIRST MONITOR
- Second monitor:
IddCxMonitorArrival Failed, Error: -1073741811
An invalid parameter was passed to a service or function. (NTSTATUS)
I'm moving on, to aims to investigate why this happens!
Anyway, do you have a suggestion? Could it be the wrong adapter's parameter?
Again, thanks for your time, you are very kind.
[UPDATE]
I solved this issue, the IDDCX_MONITOR_INFO's id must to be different for each monitor.
Anyway, thank you for your support.
Bye.
from screenexpander.
The architecture of this program supports multi-monitor feature but it hasn't been implemented yet. I can't spare time for it right now.
from screenexpander.
Hi,
how could I create a monitor with a completely non-standard resolution (for example, 2000px X 1000px) without passing an EDID?
What should I do?
from screenexpander.
Regarding the "strange" resolutions,
I create a monitor without the EDID, and then
I pass the following display configuration when IddMonitorGetDefaultModes is called :
DISPLAYCONFIG_VIDEO_SIGNAL_INFO foo[]=
{
148500 * KHZ,
{ 148500 * KHZ, 1920 + 280},
{ 148500 * KHZ, (1920 + 280) * (1080 + 45)},
{ WIDTH, HEIGHT }, // <- **Active Size**
{ 1920 + 280, 1080 + 45},
{ {255, 0} },
DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE
},
Moreover, since the resolution is an "intersection" among display mode and target mode,
I return a "compatible" target mode configuration:
IddMonitorQueryModes(...) {
CreateTargetMode(TargetModes[0],
1920, 1080,
WIDTH, HEIGHT, // <- **Active Size**
60
);
}
There are 2 issues in this approach:
- I can't create a display with a resolution bigger than 1920x1080,
- just resolutions like 1024x720, 960x540, 800x600 are accepted (i.e. in the other cases, the SwapChain context is not created).
So, exists a table or a function which can generate an appropriated display configuration?
Generally speaking, based on your knowledge, is the modification of the active size attribute the right way to create a monitor with a strange resolution?
from screenexpander.
Hi,
how could I create a monitor with a completely non-standard resolution (for example, 2000px X 1000px) without passing an EDID?
What should I do?
I would suggest writing an EDID generator on your own.
from screenexpander.
Solved privately.
from screenexpander.
Related Issues (3)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from screenexpander.