From: "Nigel Harwood" To: Subject: Accessing SMBIOS memory above 1 MB Date: Tue, 17 Dec 2002 19:03:28 +1100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Importance: Normal Reply-To: djgpp AT delorie DOT com Folks, I wrote a program to return useful information from a systems SMBIOS under Windows NT and this works for computers that have this memory mapped below 1MB but silently fails on the first _farpeekb() when this memory is mapped above 1 MB. I am running the program under Windows NT 4.0. As far I know I am doing these accesses correctly as have always worked fine for other computer models. I've re-read the FAQ and can't see anything else to consider. I've scanned the web but found nothing relevant. I've searched the mailing list archive and found one similar question but no answer. I'm hoping that this mailing list will provide the answer. The approach I am using is: unsigned char c; unsigned short smbios_selector; __dpmi_meminfo meminfo; meminfo.size = smbios_entry_point.structure_table_length; meminfo.address = smbios_entry_point.structure_table_address; // address is 0xFEEF800 __dpmi_physical_address_mapping(&meminfo); smbios_selector = __dpmi_allocate_ldt_descriptors(1); __dpmi_set_segment_base_address(smbios_selector,meminfo.address); __dpmi_set_segment_limit(smbios_selector,meminfo.size-1); c = _farpeekb(smbios_selector,0); // first byte of SMBIOS memory Using debug statements I can confirm that the program fails at the _farpeekb(). Absolutely no error message appears it just comes back to the command prompt. Any help greatly appreciated. Regards Nigel