Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

Monthly Seminars at OSR Headquarters

East Coast USA
Windows Internals and SW Drivers, Dulles (Sterling) VA, 13 November 2017

Kernel Debugging & Crash Analysis for Windows, Nashua (Amherst) NH, 4 December 2017

Writing WDF Drivers I: Core Concepts, Nashua (Amherst) NH, 8 January 2018

WDF Drivers II: Advanced Implementation Techniques, Nashua (Amherst) NH, 15 January 2018


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 15  
20 Oct 17 03:13
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

now, the newest call sequence as follows: DriverEntry DxgkDdiAddDevice DxgkDdiQueryInterface DxgkDdiQueryInterface DxgkDdiStartDevice DxgkDdiQueryChildRelations DxgkDdiQueryAdapterInfo(DXGKQAITYPE_DRIVERCAPS) DxgkDdiQueryAdapterInfo(DXGKQAITYPE_QUERYSEGMENT) DxgkDdiQueryAdapterInfo(DXGKQAITYPE_QUERYSEGMENT) DxgkDdiQueryDeviceDescriptor DxgkDdiQueryDeviceDescriptor DxgkDdiRecommendMonitorModes DxgkDdiIsSupportedVidPn * many DxgkDdiEnumVidPnCofuncModality * manyand why not call DxgkDdiCreateDevice Is there somthing wrong i am passing? Thanks for your any help. -----原始邮件----- 发件人:"闵亮文" <xxxxx@westone.com.cn> 发送时间:2017-10-10 11:27:52 (星期二) 收件人: xxxxx@lists.osr.com 抄送: 主题: problem about WDDM miniport driver of win7 Hi all, I'm developing a WDDM driver, currently I have skeleton user mode and miniport drivers. After installation and rebooting on Win7 I'm getting the following call sequence. DriverEntry DxgkDdiAddDevice DxgkDdiQueryInterface DxgkDdiQueryInterface DxgkDdiStartDevice DxgkDdiQueryChildRelations DxgkDdiStopDevice DxgkDdiRemoveDevice DxgkDdiUnload The call sequence hangs on it , And i can't see anything on display(in virtual machine window). Is there something wrong i am passing? Thanks for your any help.
  Message 2 of 15  
22 Oct 17 07:29
Marcel Ruedinger
xxxxxx@datronic.de
Join Date: 01 Nov 2010
Posts To This List: 109
Re: problem about WDDM miniport driver of win7

Did you research this list?=20 Did you see the thread "problem about WDDM miniport driver of win7" July 13= th 2015 - Aug 6th 2015? In this thread (and others) I comprehensively answered exactly this kind of= question and the next ones which will immediately follow after this one. Marcel Ruedinger datronicsoft=A0
  Message 3 of 15  
22 Oct 17 09:04
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

Hi Marcel, Thank you very much for your reply. I have seen the thread "problem about WDDM miniport driver of win7" July 13th 2015 - Aug 6th 2015 But I Use the same implementation of DxgkDdiQueryAdapterInfo as author, just there is something wrong. The driver's call sequence is as follow: DxgkDdiQueryAdapterInfo(DXGKQAITYPE_DRIVERCAPS) DxgkDdiCreateDevice DxgkDdiQueryAdapterInfo(DXGKQAITYPE_QUERYSEGMENT) DxgkDdiQueryAdapterInfo(DXGKQAITYPE_QUERYSEGMENT) DxgkDdiCreateContext DxgkDdiIsSupportedVidPn x many DxgkDdiEnumVidPnCofuncModality x many ... And not call DxgkDdiGetStandardAllocationDriverData The screen was black all the time. My implementation of DxgkDdiQueryAdapterInfo callback is as follow... switch (pQueryAdapterInfo->Type) { case DXGKQAITYPE_DRIVERCAPS: { DXGK_DRIVERCAPS *pCaps = (DXGK_DRIVERCAPS*)pQueryAdapterInfo->pOutputData; pCaps->MaxPointerWidth = POINTER_SIZE; pCaps->MaxPointerHeight = POINTER_SIZE; pCaps->PointerCaps.Value = 3; pCaps->HighestAcceptableAddress.QuadPart = 0xFFFFFFFF; pCaps->MaxAllocationListSlotId = -1; pCaps->NumberOfSwizzlingRanges = 0; pCaps->ApertureSegmentCommitLimit = 0; pCaps->InterruptMessageNumber = 0; pCaps->MaxOverlays = 0; pCaps->GammaRampCaps.Value = 0; pCaps->PresentationCaps.Value = 0; pCaps->MaxQueuedFlipOnVSync = 0; pCaps->FlipCaps.Value = 0; pCaps->SchedulingCaps.Value = 0; pCaps->SchedulingCaps.MultiEngineAware = 1; pCaps->GpuEngineTopology.NbAsymetricProcessingNodes = WDDM_NUM_NODES; pCaps->MemoryManagementCaps.PagingNode = 0; pCaps->MemoryManagementCaps.Value = 0; pCaps->WDDMVersion = DXGKDDI_WDDMv1; ntStatus = STATUS_SUCCESS; break; } case DXGKQAITYPE_QUERYSEGMENT: { # define WDDM_SEGMENTS_COUNT 1 DXGK_QUERYSEGMENTOUT *pQsOut = (DXGK_QUERYSEGMENTOUT*)pQueryAdapterInfo->pOutputData; if (!pQsOut->pSegmentDescriptor) { pQsOut->NbSegment = WDDM_SEGMENTS_COUNT; ntStatus = STATUS_SUCCESS; break; } DXGK_SEGMENTDESCRIPTOR* pDr = pQsOut->pSegmentDescriptor; for (int i = 0; i < pQsOut->NbSegment; i++, pDr++) { pDr[i].BaseAddress = pDevExt->m_pHWDevice->GetVRamPhyAddr(); pDr[i].CpuTranslatedAddress = pDevExt->m_pHWDevice->GetVRamPhyAddr();; pDr[i].Size = pDevExt->m_pHWDevice->GetVRamPhrSize(); pDr[i].NbOfBanks = 0; pDr[i].pBankRangeTable = 0; pDr[i].CommitLimit = pDr[i].Size; pDr[i].Flags.Value = 0; pDr[i].Flags.CpuVisible = 1; pDr[i].Flags.PopulatedFromSystemMemory = FALSE; } pQsOut->PagingBufferSegmentId = 0; pQsOut->PagingBufferSize = PAGE_SIZE; pQsOut->PagingBufferPrivateDataSize = PAGE_SIZE; ntStatus = STATUS_SUCCESS; break; } Is there somthing wrong which my implementation? Thanks for your any help. > -----原始邮件----- > 发件人: "xxxxx@datronic.de" <xxxxx@lists.osr.com> > 发送时间: 2017-10-22 19:28:12 (星期日) > 收件人: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> > 抄送: > 主题: RE:[ntdev] Re: problem about WDDM miniport driver of win7 > > Did you research this list? > Did you see the thread "problem about WDDM miniport driver of win7" July 13th 2015 - Aug 6th 2015? <...excess quoted lines suppressed...>
  Message 4 of 15  
23 Oct 17 04:08
Marcel Ruedinger
xxxxxx@datronic.de
Join Date: 01 Nov 2010
Posts To This List: 109
Re: problem about WDDM miniport driver of win7

There can be hundreds of reasons and I can only guess... Does it ever stop calling DxgkDdiIsSupportedVidPn and DxgkDdiEnumVidPnCofuncModality? Does it not call DxgkDdiRemoveDevice and DxgkDdiUnload any more? If it does continue endlessly, then the driver's Video Present Network code is still broken. In that case, I can only repeat the previous thread: Study the topic "Video Present Networks". Get the working "Video Present Network" code from WDK source code sample KMDOD. Marcel Ruedinger datronicsoft
  Message 5 of 15  
23 Oct 17 05:14
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

Hi Marcel, thank you sincerely for reply. > Does it ever stop calling DxgkDdiIsSupportedVidPn and DxgkDdiEnumVidPnCofuncModality? > Does it not call DxgkDdiRemoveDevice and DxgkDdiUnload any more? That is the case. > -----原始邮件----- > 发件人: "xxxxx@datronic.de" <xxxxx@lists.osr.com> > 发送时间: 2017-10-23 16:07:50 (星期一) > 收件人: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> > 抄送: > 主题: RE:[ntdev] Re: problem about WDDM miniport driver of win7 > > There can be hundreds of reasons and I can only guess... <...excess quoted lines suppressed...>
  Message 6 of 15  
23 Oct 17 08:40
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

Hi Marcel, i am sorry, i just made some mistakes, because it stop calling DxgkDdiIsSupportedVidPn and DxgkDdiEnumVidPnCofuncModality after many times by print log. But the driver just not call other functions, I am very confused. Besides, i get the working code from WDK source code sample KMDOD. Thank you for your help. cruisemin > -----原始邮件----- > 发件人: "xxxxx@datronic.de" <xxxxx@lists.osr.com> > 发送时间: 2017-10-23 16:07:50 (星期一) > 收件人: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> > 抄送: > 主题: RE:[ntdev] Re: problem about WDDM miniport driver of win7 > > There can be hundreds of reasons and I can only guess... > > Does it ever stop calling DxgkDdiIsSupportedVidPn and DxgkDdiEnumVidPnCofuncModality? <...excess quoted lines suppressed...>
  Message 7 of 15  
23 Oct 17 10:00
Marcel Ruedinger
xxxxxx@datronic.de
Join Date: 01 Nov 2010
Posts To This List: 109
Re: problem about WDDM miniport driver of win7

Confused? Then let us start very simple from the very beginning of the "Video Present Network" code: Is your driver's "Video Present Network" code telling dxgkrnl.sys that a display monitor is plugged to your graphics adapter? If the answer is "no", then you would probably see exactly the scenario described above. dxgkrnl.sys is not doing any work, but not unloading the driver either. Instead it just sits there waiting until a monitor is plugged. Marcel Ruedinger datronicsoft
  Message 8 of 15  
23 Oct 17 11:39
Mark Roddy
xxxxxx@gmail.com
Join Date: 25 Feb 2000
Posts To This List: 4019
Re: problem about WDDM miniport driver of win7

Also if you end up reporting that you can't support any offered configurations. Mark Roddy On Mon, Oct 23, 2017 at 9:59 AM, xxxxx@datronic.de <xxxxx@lists.osr.com> wrote: > Confused? Then let us start very simple from the very beginning of the > "Video Present Network" code: > Is your driver's "Video Present Network" code telling dxgkrnl.sys that a > display monitor is plugged to your graphics adapter? > If the answer is "no", then you would probably see exactly the scenario > described above. > dxgkrnl.sys is not doing any work, but not unloading the driver either. > Instead it just sits there waiting until a monitor is plugged. > > Marcel Ruedinger <...excess quoted lines suppressed...> --
  Message 9 of 15  
26 Oct 17 08:32
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

Hi, Marcel, thank you for your reply. What is the meanings of "driver's "Video Present Network" code telling dxgkrnl.sys that a display monitor is plugged to your graphics adapter", or in which function it is implemented. > -----原始邮件----- > 发件人: "xxxxx@datronic.de" <xxxxx@lists.osr.com> > 发送时间: 2017-10-23 21:59:57 (星期一) > 收件人: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> > 抄送: > 主题: RE:[ntdev] Re: problem about WDDM miniport driver of win7 > > Confused? Then let us start very simple from the very beginning of the "Video Present Network" code: > Is your driver's "Video Present Network" code telling dxgkrnl.sys that a display monitor is plugged to your graphics adapter? <...excess quoted lines suppressed...>
  Message 10 of 15  
26 Oct 17 14:12
Marcel Ruedinger
xxxxxx@datronic.de
Join Date: 01 Nov 2010
Posts To This List: 109
Re: problem about WDDM miniport driver of win7

DxgkDdiQueryChildStatus and DxgkCbIndicateChildStatus Marcel Ruedinger datronicsoft
  Message 11 of 15  
26 Oct 17 21:54
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

Hi, Marcel, you are so warmly and kindly, thank you. I have already noticed this theme of "Monitor Hot Plug Detection" on MSDN. And call functions as mentioned, but the problem still exist... My implementation callback is as follow: DxgkDdiQueryChildRelations: ChildRelations[ChildIndex].ChildDeviceType = TypeVideoOutput; ChildRelations[ChildIndex].ChildCapabilities.HpdAwareness = HpdAwarenessInterruptible; ChildRelations[ChildIndex].ChildCapabilities.Type.VideoOutput.InterfaceTechnology = D3DKMDT_VOT_HD15; ChildRelations[ChildIndex].ChildCapabilities.Type.VideoOutput.MonitorOrientationA wareness = D3DKMDT_MOA_INTERRUPTIBLE; ChildRelations[ChildIndex].AcpiUid = 0; ChildRelations[ChildIndex].ChildUid = ChildIndex; DxgkDdiQueryChildStatus: switch (ChildStatus->Type) { case StatusConnection: ChildStatus->HotPlug.Connected = TRUE; return STATUS_SUCCESS; case StatusRotation: ChildStatus->Rotation.Angle = 0; return STATUS_SUCCESS; default: LogLog(LOG_PREFIX,eLogWarn, "Unknown pChildStatus->Type (0x%I64x) requested.", ChildStatus->Type); return STATUS_NOT_SUPPORTED; } DxgkCbIndicateChildStatus: ChildStatus.Type = StatusConnection; ChildStatus.ChildUid = 0; ChildStatus.HotPlug.Connected = TRUE; DxgkCbIndicateChildStatus(DeviceHandle, &ChildStatus); Is there somthing wrong i am passing? Thanks for your any help. > -----原始邮件----- > 发件人: "xxxxx@datronic.de" <xxxxx@lists.osr.com> > 发送时间: 2017-10-27 02:12:24 (星期五) > 收件人: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> > 抄送: > 主题: RE:[ntdev] Re: problem about WDDM miniport driver of win7 > > DxgkDdiQueryChildStatus and DxgkCbIndicateChildStatus > > Marcel Ruedinger <...excess quoted lines suppressed...>
  Message 12 of 15  
28 Oct 17 04:50
Marcel Ruedinger
xxxxxx@datronic.de
Join Date: 01 Nov 2010
Posts To This List: 109
Re: problem about WDDM miniport driver of win7

I cannot see any obvious mistake here, but don't count on it! As I always say: There can be hundreds of reasons and I can only guess...... I assume that there is a reasonable number (probably 1) of Video Present Sources and a reasonable number (probably 1) of Video Present Targets (children) reported in DxgkDdiStartDevice. Then, most likely, the error is in the implementation of DxgkDdiEnumVidPnCofuncModality. It probably wouldn't get there if DxgkDdiIsSupportedVidPn didn't report at least one supported Video Present Network. Marcel Ruedinger datronicsoft
  Message 13 of 15  
29 Oct 17 05:22
wall ata
xxxxxx@mail.ru
Join Date: 29 Oct 2017
Posts To This List: 3
Re: problem about WDDM miniport driver of win7

very nice!<a href=http://google.com>here</a>
  Message 14 of 15  
31 Oct 17 22:00
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

Hi, Marcel, I have a problem: The members PrimarySegment and PrimaryAddress of struct DXGKARG_SETVIDPNSOURCEADDRESS which is pointed by pSetVidPnSourceAddress when calls DxgkDdiSetVidPnSourceAddress function, who passed the value, because the DxgkDdiSetVidPnSourceAddress function use that and Looks like some problems. thank you for your any help. > -----原始邮件----- > 发件人: "xxxxx@datronic.de" <xxxxx@lists.osr.com> > 发送时间: 2017-10-27 02:12:24 (星期五) > 收件人: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> > 抄送: > 主题: RE:[ntdev] Re: problem about WDDM miniport driver of win7 > > DxgkDdiQueryChildStatus and DxgkCbIndicateChildStatus > <...excess quoted lines suppressed...>
  Message 15 of 15  
03 Nov 17 23:51
minliangwen cruisemin
xxxxxx@westone.com.cn
Join Date: 12 Oct 2017
Posts To This List: 8
Re: problem about WDDM miniport driver of win7

Hi, all What are the call queues of WDDM? Than you for any help. Best regared. > -----原始邮件----- > 发件人: "xxxxx@mail.ru" <xxxxx@lists.osr.com> > 发送时间: 2017-10-29 17:21:58 (星期日) > 收件人: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> > 抄送: > 主题: RE:[ntdev] Re: problem about WDDM miniport driver of win7 > > very nice!<a href=http://google.com>here</a> > > --- <...excess quoted lines suppressed...>
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 00:31.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license