Доступ к вентилятору в Windows 7

#c# #windows #io #hardware

#c# #Windows #io #аппаратное обеспечение

Вопрос:

Я попытался скомпилировать образец «DumbPort» из WinIO в 64-разрядной ОС Windows 7, но при запуске программы я всегда получаю эту ошибку недостаточно прав пользователя. Я поместил winIO64.dll и winIO64.sys в том же каталоге, что и DumbPort. В исходном коде примера сообщение об ошибке не очень полезно, потому что это означает, что библиотека WinIo найдена, но ее нельзя инициализировать. Я использую Visual Studio 8 и не уверен, как я могу это отладить. Вот код:

  private void Form1_Load(object sender, EventArgs e)
    {
        // Check if this is a 32 bit or 64 bit system
        if (IntPtr.Size == 4)
        {
            hMod = LoadLibrary("WinIo32.dll");

        }
        else if (IntPtr.Size == 8)
        {
            hMod = LoadLibrary("WinIo64.dll");
        }

        if (hMod == IntPtr.Zero)
        {
            MessageBox.Show("Can't find WinIo dll.nMake sure the WinIo library files are located in the same directory as your executable file.", "DumpPort", MessageBoxButtons.OK, MessageBoxIcon.Error);
            this.Close();
        }

        IntPtr pFunc = GetProcAddress(hMod, "InitializeWinIo");

        if (pFunc != IntPtr.Zero)
        {
            InitializeWinIoType InitializeWinIo = (InitializeWinIoType)Marshal.GetDelegateForFunctionPointer(pFunc, typeof(InitializeWinIoType));
            bool Result = InitializeWinIo();

            if (!Result)
            {
                MessageBox.Show("Error returned from InitializeWinIo.nMake sure you are running with administrative privileges and that the WinIo library files are located in the same directory as your executable file.", "DumpPort", MessageBoxButtons.OK, MessageBoxIcon.Error);
                FreeLibrary(hMod);
                this.Close();
            }
        }
  

Комментарии:

1. Вы работаете с повышенными разрешениями?

2. ДА. Я использую Windows Home 7.

3. В прошлом я просто использовал WinRing0 с большим успехом. Опять же, все зависит от чипа на материнской плате, с которым вы можете справиться. Вероятно, как и в моем случае, много обратного проектирования.

4. Этому парню нужно финансирование, а ссылка для скачивания не работает: winring0.com-about.com/download.html .

5. sourceforge.net/projects/winring0 не работает, архив пуст. Этот проект мертв?

Ответ №1:

До сих пор я решил свою проблему с помощью winring0: http://www.chihoang.de/code-schnipsel/amilo-xa-3530/fsc-xa-3530-fan-control-v01-windows.html . В настоящее время я пытаюсь написать драйвер ядра и программу systray для управления им.