hi list ! i try to list two questions, but i hope in just one answer :)
  • 1
  • could someone sendme or attach a 16 bit dll skeleton ?
  • 2
  • is there a way to save eip segment ? many thanks
    Posted on 2001-05-14 15:19:00 by angelo
    Angelo, in 32 bits there are no segments any more ..just selectors ;) EIP's selector is in CS register as allways...but it is an index in LDT or GDT system table...actual physical address depends on LDT and GDT contents...and pageing and TSS...just to keep it simple ;) a 16 bit dll skeleton can be found in TASM documentation..but why use 16 bit...when you can use 32 bits...and Iczelion has some beautifull tutorials on 32 bit DLL also :D This message was edited by BogdanOntanu, on 5/14/2001 7:42:07 PM
    Posted on 2001-05-14 19:39:00 by BogdanOntanu
    BogdanOntanu, first of all many thanks for your help. All my two questions has origin from the little utility i want to realize: read mbr partition table from win95. First i've try to read the first sector of HD using DeviceIOControl, calling to VWIN32.VXD that should emulate int 13h or 25/26h. This work for floppies but not for HD ! In a Micro$$oft article they declare that calling VWIN32.VXD int 13h doesn't work for HD under win95. So, how to do ? As alternative they indicate to call from 32 bit app. code, a 16 bit dll that call DPMI service int13h. And it should work. So i moved in this way but the way seems not so easy. It need to use QT_Thunk undocumneted function that load and jump to 16bit dll, a 16bitt dll, etc. etc. So this is my actually not small issue ... :(, if you have some better way .. thanks again angelo
    Posted on 2001-05-15 02:27:00 by angelo