![]() |
Re: Gigabyte dll functions
Zitat:
Well, the code of behaviour also includes, that every requester is supposed to post some detailed information about the problem to solve, the things tried out and so on. Well I think Muetze just wanted to say, that you should work on that points. So it is a little unconventional to deploy some code without the possibility to test the correctness of that code and even without any specification. As far as I can see, you just guessed how the function could work. But you should tell if so! At least this means a risk to all people testing your code on a Gigabyte-Board. If you want to know, how the dll is working, you could dissassemble it and take a look at the enty-point of the corresponding function inside the dll. Of course this is not easy, but this is the best way to get the information. Of cource you could ask bitsetter, maybe by PN or post the question in a thread. But please keep it polite and post all information, including where you've got the code from and why you changed it the way you did. Of course it also good to know where your code has been testet (you've just said, that the code does not work the right way). |
Re: Gigabyte dll functions
Ok i am really sorry to Meutze1 you and many others!Wont happen again! :?
As i said i do not know ASM i will just post the code,cant understand it. I load this in to IDA (Dissassembler) But i am sure somebody will understand it... For LX_Get_CPUFanCount function
Delphi-Quellcode:
For LX_IsGigaMainBoard function
public LX_Get_CPUFanCount
LX_Get_CPUFanCount proc near arg_0= dword ptr 4 mov eax, [esp+arg_0] push eax push 1 call W_Get_FanCount retn 4 LX_Get_CPUFanCount endp
Delphi-Quellcode:
For LX_IsQDIMainBoard function
; Exported entry 14. LX_IsGigaMainBoard
public LX_IsGigaMainBoard LX_IsGigaMainBoard proc near mov eax, dword_1000D674 dec eax neg eax sbb eax, eax retn LX_IsGigaMainBoard endp
Delphi-Quellcode:
; Exported entry 15. LX_IsMSIMainBoard
; Exported entry 16. LX_IsQDIMainBoard public LX_IsQDIMainBoard LX_IsQDIMainBoard proc near or eax, 0FFFFFFFFh ; LX_IsMSIMainBoard retn LX_IsQDIMainBoard endp For LX_IsMSIMainBoard function
Delphi-Quellcode:
For LX_Get_CPUFanCount function
; Exported entry 15. LX_IsMSIMainBoard
; Exported entry 16. LX_IsQDIMainBoard public LX_IsQDIMainBoard LX_IsQDIMainBoard proc near or eax, 0FFFFFFFFh ; LX_IsMSIMainBoard retn LX_IsQDIMainBoard endp
Delphi-Quellcode:
; Exported entry 5. LX_Get_CPUFanCount public LX_Get_CPUFanCount LX_Get_CPUFanCount proc near arg_0= dword ptr 4 mov eax, [esp+arg_0] push eax push 1 call W_Get_FanCount retn 4 LX_Get_CPUFanCount endp For LX_Get_SystemFanValue function
Delphi-Quellcode:
For LX_Get_PowerFanValue function
; Exported entry 9. LX_Get_SystemFanValue
public LX_Get_SystemFanValue LX_Get_SystemFanValue proc near var_4= dword ptr -4 arg_0= dword ptr 4 push ecx cmp dword_1000D680, 1 jnz short loc_100038DA
Delphi-Quellcode:
For LX_Get_VoltageP12Value function
; Exported entry 8. LX_Get_PowerFanValue
public LX_Get_PowerFanValue LX_Get_PowerFanValue proc near arg_0= dword ptr 4 cmp dword_1000D680, 1 jnz short loc_10003938
Delphi-Quellcode:
; Exported entry 11. LX_Get_VoltageP12Value
public LX_Get_VoltageP12Value LX_Get_VoltageP12Value proc near arg_0= dword ptr 4 mov eax, [esp+arg_0] push eax push 4 call W_Get_VINValue retn 4 LX_Get_VoltageP12Value endp For LX_Get_VoltageP5Value function
Delphi-Quellcode:
; Exported entry 13. LX_Get_VoltageP5Value
public LX_Get_VoltageP5Value LX_Get_VoltageP5Value proc near arg_0= dword ptr 4 mov eax, [esp+arg_0] push eax push 3 call W_Get_VINValue retn 4 LX_Get_VoltageP5Value endp For LX_Get_VoltageP3Value function
Delphi-Quellcode:
; Exported entry 12. LX_Get_VoltageP33Value
public LX_Get_VoltageP33Value LX_Get_VoltageP33Value proc near arg_0= dword ptr 4 mov eax, dword_1000D680 push esi cmp eax, 1 jnz short loc_100039A8 For LX_Get_CaseOpenStatus function
Delphi-Quellcode:
; Exported entry 7. LX_Get_CaseOpenStatus
public LX_Get_CaseOpenStatus LX_Get_CaseOpenStatus proc near arg_0= dword ptr 4 mov eax, [esp+arg_0] push eax push 10h call W_Get_Status retn 4 LX_Get_CaseOpenStatus endp For W_Get_FanLoLimit function
Delphi-Quellcode:
; Exported entry 28. W_Get_FanLoLimit
public W_Get_FanLoLimit W_Get_FanLoLimit proc near arg_0= dword ptr 4 arg_4= dword ptr 8 xor eax, eax mov ax, word_1000D894 cmp eax, 290h jg short loc_10002C0E For W_Set_FanLoLimitValue function
Delphi-Quellcode:
; Exported entry 57. W_Set_FanLoLimitValue
public W_Set_FanLoLimitValue W_Set_FanLoLimitValue proc near arg_0= dword ptr 4 arg_4= dword ptr 8 xor eax, eax mov ax, word_1000D894 cmp eax, 130h jg short loc_10002E18 |
Re: Gigabyte dll functions
Sorry to double post but dosent the info help?If not then this was not worth posting..
|
Re: Gigabyte dll functions
Perhaps those information is in fact helpful and the other guys just did'nt had the time to look at it.
'Pushing' a thread like you do is only allowed after a minimum of 24 hours here, so I really urge you to stick to our forum rules here and only reply to an own post which is more than a whole day old. We mods already got complaints about some of your posts (as well as the deactivated one was a users complaint) and we got complaints about your pushing, so please try to calm a bit down if there isn't an answer after three or four hours, get yourself a cup of really hot tea and have a book beside you. Just don't bring us in a haste, okay? :zwinker: |
Re: Gigabyte dll functions
Opology has been stated to the mods,muetze1 and everybody else. Kein Problem :)
|
Re: Gigabyte dll functions
Liste der Anhänge anzeigen (Anzahl: 1)
HardwareMonitor.zip
|
Re: Gigabyte dll functions
Thank you very much! :)
Can you provide more information about other functions thanks in advance! LX_IsGigaMainBoard //Checks if its gigabyte board LX_IsMSIMainBoard //Checks if its MSI board LX_IsQDIMainBoard //Checks if its QDI board These are voltages (12 V,3,3 V,5 V,-5 V,-12 V,VBAT,+5 VSB and vcore) W_Get_VIN0_Status W_Get_VIN1_Status W_Get_VIN2_Status W_Get_VIN3_Status W_Get_VIN4_Status W_Get_VIN5_Status W_Get_VIN6_Status W_Get_VIN7_Status Voltage regulation W_Get_VIDVcore W_Get_VIDVcore1 W_Get_VIDVcore2 Voltage Alarm W_Get_VINLimitValue W_Get_VINValue By this you can set Voltage Alarm limit W_Set_VINLimitValue Checks if its open case i guess its boolean or longbolean maybe even integer( 0,-1) W_Get_CaseO_Status Another interested functions i dont know what they do W_IsDualCPU //Check mechanism for dual core/quad core cpus? W_IsGBT //is gigabyte board? W_IsHWM //Dont know for this one,i think it has to do with graphic cards,not 100% sure... W_IsITE //ITE GigaRAID controler? W_IsW83781D W_SMI_Test W_Get_FanLoLimit //Alarm maybe for fans? W_Get_Status W_hua_inp W_hua_inpd W_hua_inpw W_hua_outp W_hua_outpd W_hua_outpw W_Temp_RtoT W_Temp_TtoR W_CaseO_Clear //Case opened? |
Re: Gigabyte dll functions
LX_IsGigaMainBoard //Checks if its gigabyte board
This functions 100%.Works like this if you have a Gigabyte board then it will show i:0(as boolean true) if you don't have a Gigabyte board then it will show i:-1(as boolean false).Simple,eh? :)
Delphi-Quellcode:
#include <windows.h>
#include <stdio.h> typedef int (*isgigabytemobo)(void); int main() { HMODULE hGigabyteLib = NULL; isgigabytemobo LX_IsGigaMainBoard = NULL; hGigabyteLib = LoadLibrary(L"W83781D.DLL"); if (hGigabyteLib != NULL) { printf("Library loaded: W83781D.DLL.\n"); LX_IsGigaMainBoard = (isgigabytemobo)GetProcAddress(hGigabyteLib, "LX_IsGigaMainBoard"); if (LX_IsGigaMainBoard != NULL) { printf("Found LX_IsGigaMainBoard.\n"); printf("i: %i.\n", LX_IsGigaMainBoard()); } else printf("Could not find LX_IsGigaMainBoard.\n"); FreeLibrary(hGigabyteLib); } else printf("Couldn't load library W83781D.DLL.\n"); system("pause"); return 0; } |
Re: Gigabyte dll functions
No comments? :wall:
|
Re: Gigabyte dll functions
*push* :?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz