Question about future SpinRite under on-time and windows.

  • Release Candidate 6
    Guest:
    We are at a “proposed final” true release candidate with nothing known remaining to be changed or fixed. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in:

    This forum does not automatically send notices of new content. So if, for example, you would like to be notified by mail when Steve posts an update to his blog (or of any other specific activity anywhere else), you need to tell the system what to “Watch” for you. Please checkout the “Tips & Tricks” page for details about that... and other tips!

    /Steve.

coffeeprogrammer

Well-known member
Jul 19, 2021
116
11
I just finished module two, video 4 of the Windows Kernel Programming videos that I recommenced the other day. I’ve watched further long than that, but I back track and follow along while writing the code. After I’ve mastered this series I might try and write the programs in masm32. I wrote the beep application that uses the \\Device\\Beep and puts that device in a UNICODE_STRING, opens a handle and later use DeviceIoControl to make the system beep. I also successfully back ported it to VS2008 on Win7. So my question is relates to Steve’s on-time os for SR7, I searched the docs for DeviceIoControl and I found a function RTFDeviceIoControl, another page says the function that is emulating DeviceIoControl under on-time os is a dummy and does nothing and just returns. I think I do understand DeviceIoControl at this point and it has input and output buffers under windows and it has control codes that I think are defined by the driver. So will future spin rites be using the DriveIoControl function? Like a SR driver? I know from Pavel that one can use ReadFile and WriteFile also for drivers. The RTFDeviceIoControl function is not the same as windows, the signure does not include input and output buffers and rather than a handle it uses a pointer? It really looks like it only does four things based on the control codes. I was just wondering because I thought Steve said the reason he went with on-time os was it is what he already knows from Windows and because future SR would be easier to move to Windows. Something like SR would certainly need a Windows Driver to work. Just trying to connect the dots with all the information in my head. Thanks.
 
On August 20th (same date of this posting) you sent me a direct message asking me to answer some of your questions here. Please understand that if I hang out here we're never going to get the other new goodies that we all want. So I'm not generally hanging out here.

That said, yesterday I needed to come over here to quickly check on the version of PHP I'm using on these servers. And in being here I encountered a thread to which I recent answered. By coincidence it happens to contain from answers to the questions you posted above. That posting is here.

The bottom line to your more specific question is that I purchased the entire source code for the RTOS-32 operating system specifically so that I would be able to add any missing functionality that SpinRite might need. SpinRite will definitely need access to drive “metadata.”

To that end, RTOS-32 already defines its RTFDeviceIoControl perfectly for my needs. The fact that it allows a pointer to be passed is all I need since that means that the pointer can point to anything I want. That might be another structure which itself contains pointers to input and output buffers. The point is, just giving me a single pointer allows for any expansion that might be needed. :)

(Please do not reply to this asking for or expecting any further replies. I will probably not see them since I'm not really here, yet. :)
 
  • Like
Reactions: SeanBZA
On August 20th (same date of this posting) you sent me a direct message asking me to answer some of your questions here. Please understand that if I hang out here we're never going to get the other new goodies that we all want. So I'm not generally hanging out here.

That said, yesterday I needed to come over here to quickly check on the version of PHP I'm using on these servers. And in being here I encountered a thread to which I recent answered. By coincidence it happens to contain from answers to the questions you posted above. That posting is here.

The bottom line to your more specific question is that I purchased the entire source code for the RTOS-32 operating system specifically so that I would be able to add any missing functionality that SpinRite might need. SpinRite will definitely need access to drive “metadata.”

To that end, RTOS-32 already defines its RTFDeviceIoControl perfectly for my needs. The fact that it allows a pointer to be passed is all I need since that means that the pointer can point to anything I want. That might be another structure which itself contains pointers to input and output buffers. The point is, just giving me a single pointer allows for any expansion that might be needed. :)

(Please do not reply to this asking for or expecting any further replies. I will probably not see them since I'm not really here, yet. :)

Kewl, it supports TRIM out of the box.