Link to home
Start Free TrialLog in
Avatar of lenny12345
lenny12345

asked on

Video Memory size?

hi,
anybody knows how to get Video Memory size in Windows 9X/NT at Application level?
 
Avatar of chensu
chensu
Flag of Canada image

Use DirectDraw.

IDirectDraw7::GetCaps

dwVidMemTotal
Total amount of display memory on the device, in bytes, minus memory reserved for the primary surface and any private data structures reserved by the driver. (This value is the same as the total video memory reported by the IDirectDraw7::GetAvailableVidMem method.)
dwVidMemFree
Free display memory. This value equals the value in dwVidMemTotal, minus any memory currently allocated by the application for surfaces. Unlike the GetAvailableVidMem method, which reports the memory available for a particular type of surface (such as a texture), this value reflects the memory available for any type of surface.

or

IDirectDraw7::GetAvailableVidMem
Avatar of lenny12345
lenny12345

ASKER

hi,
  is there no way to get the size using only win32 api or similar without using directX?
No way as far as I know.
Use EnumDisplayDevices to get the DISPLAY_DEVICE structure, whose DeviceKey is the registy path for the device.

Under it, there is a key HardwareInformation.MemorySize. Then trying to figure out how memory size is encoded.

ASKER CERTIFIED SOLUTION
Avatar of chensu
chensu
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
This question is still open today, perhaps it was overlooked or just lost in the volumes.  Please return to this question to update it with comments if more information is needed to get your solution.  If you've been helped by the participating expert(s), you may just convert their comment to the accepted answer and then grade and close.  If an answer has ever been proposed you may not have this option to accept the comment as answer, if that is the case, ask the specific expert you wish to award to post an answer.     You'll find that you get what you need more quickly if you remain active in your questions and provide feedback.  Finalizing questions benefits you and others who then search our PAQ for just this solution, and rewards the experts who have provided you the information.  A win/win scenario.  Please do not accept this comment as an answer,  it is merely a reminder.  
If no response has been received by month-end, I will delete or accept an answer based on the information given.  Experts, please feel free to offer input.  I will have another moderator (who is also an expert) look at the question as well to ensure we do the right thing for this question (PAQ or delete).
Some additional options and information:
If you wish to award multiple participants, you can do so by creating a zero point question in the Community Support topic area, include the link to this question and tell them which experts you'd like to award what amounts.  If you'd like to delete this question, use the same process as above, but explain why you think it should be deleted.  Here is the Community Support link:   https://www.experts-exchange.com/jsp/qList.jsp?ta=commspt
 
You can always click on your profile to see all your open questions, in the event you also have other open items to be resolved.   If your number of Questions Asked is not equal to the number of Answers Graded, choose to view question history, and you'll quickly be able to navigate to all your open items to close them as well.

Your responsiveness is appreciated.  

Moondancer
Moderator - Community Support
 
P.S.  Some of the older questions from last year are not in the proper comment date order, and Engineering has been advised.  
I am sorry to see that Asker has not returned to update and finalize this question.  I am, therefore, force accepting this question.  In the event the Asker returns with additional needs related to this question, please respond and continue the collaboration process.
Thank you,
Moondancer
Community Support Moderator @ Experts Exchange