![]() |
RtlTimeToTimeFields im Usermode möglich?
Hallo
Könnte mir jemand sagen, ob die Funktion "RtlTimeToTimeFields" auch im Usermodus benutzt werden kann oder nur im Kernelmode? mfG Richard |
Re: RtlTimeToTimeFields im Usermode möglich?
Noch nie von der Funktion gehört. Aber warum probierst du es nicht einfach aus?
|
Re: RtlTimeToTimeFields im Usermode möglich?
@Luckie
Das habe ich. Ich bekomme immer eine Zugriffsverletzung in Modul NTDLL.dll Kann aber auch an fehlerhaften Argumenten liegen? mfG Richard |
Re: RtlTimeToTimeFields im Usermode möglich?
wie rufst du die Funktion auf?
Wenn ich mir die Funktion im msdn anschaue sehe ich keinen Grund warum sie nicht im Usermode funktionieren sollte. Allerdings würde ich es auch icht ausschließen da es wdk steht. |
Re: RtlTimeToTimeFields im Usermode möglich?
Delphi-Quellcode:
type TTimefield=packed record
Year:word; month:word; day:word; hour:word; minute:word; second:word; milliseconds:word; weekday:word; end; var lib:hmodule; TimeToTimeField:procedure(var time:int64;var timefield:TTimeField);stdcall; QuerysystemTime:procedure(var time:int64);stdcall; systime:TSystemTime; timefield:TTimeField; time64:int64; begin lib:=getmodulehandle('ntdll'); TimeToTimeField:=getprocaddress(lib,'RtlTimeToTimeFields'); QuerySystemTime:=getprocaddress(lib,'NtQuerySystemTime'); //Variante 1 Querysystemtime(time64); TimeToTimeField(time64,timeField); showmessage(inttostr(TimeField.Day)+'.'+ inttostr(TimeField.Month)+'.'+ inttostr(TimeField.Year)+#13#10+ inttostr(TimeField.Hour)+':'+ inttostr(TimeField.Minute)+':'+ inttostr(TimeField.Second)+'.'+ inttostr(TimeField.Milliseconds)+#13#10+ inttostr(TimeField.Weekday)); //Variante 2 DateTimeToSystemTime(now,systime); showmessage(inttostr(systime.wDay)+'.'+ inttostr(systime.wMonth)+'.'+ inttostr(systime.wYear)+#13#10+ inttostr(systime.wHour)+':'+ inttostr(systime.wMinute)+':'+ inttostr(systime.wSecond)+'.'+ inttostr(systime.wMilliseconds)+#13#10+ inttostr(systime.wDayOfWeek)); end; |
Re: RtlTimeToTimeFields im Usermode möglich?
Liste der Anhänge anzeigen (Anzahl: 1)
@All
Also ich komme hier einfach nicht weiter. Habe mal mein Demoproject angehängt. Ich möchte die Lastwritetime eines RegistryKeys ermitteln. Die Api funktioniert auch, wie man an dem Keynamen und der Länge sehen kann. Die Keylänge ist ja immer doppelt so groß, wie die Stringlänge, da Unicode (2 Byte -> 1 Char) Ich hoffe jemand kann mir hier helfen, da ich nun schon fast Zwei Tage an diesem Mist sitze. Die MSDN zitiere ich mittlerweile schon im Schlaf und meine Frau mault mich auch schon voll, weil sie mich net mehr zu Gesicht bekommt. Es geht übrigens um diese Strucktur KEY_BASIC_INFORMATION The KEY_BASIC_INFORMATION structure defines a subset of the full information that is available for a registry key. typedef struct _KEY_BASIC_INFORMATION { LARGE_INTEGER LastWriteTime; ULONG TitleIndex; ULONG NameLength; WCHAR Name[1]; // Variable-length string } KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION; mfG Richard //Sorry falschen thread erwischt. kann gelöscht werden! |
Re: RtlTimeToTimeFields im Usermode möglich?
![]() Kleiner Tip noch. Am besten schaust du dir immer die Deklarationen in JwaNative.pas an, um deine zu überprüfen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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 by Thomas Breitkreuz