[ TAG 171 ][09.10.2021] -Erfolgreich -IAP-20210601-20210722-1145 -RPRCSL_LOGGER

Ich beginne die heutige Worksession um [10.10.2021][1000].
Es war eine katastrophale Woche. Ich habe sechs Nachträge gezählt. Wieder muss ich mich in den letzten Entwicklungsstand einarbeiten um meine Arbeit an diesen Punkt fortzusetzen.

[T162]
Im Beitrag [T162] habe ich die [RPRCSL]-Liste erweitert.

Zitat:
"

Diese Überlegungen führen mich dazu, für jedes ALOG eine LOG-Datei anzulegen. Wenn man diesen Gedanken weiter geht, so muss ich dann auch die FileHandler des Loggers bei jeder ALOG-Anlegung und ALOG-Prozessausführung neu anlegen.

"
Ich kam zu diesen Zeitpunkt noch nicht auf die Tatsache, dass bei Prozessausführung der Prozess eigenständig ist und eigene Speicherbereiche zugewiesen bekommt. Somit ist dieses Handling von Natur aus gegeben. Dieser Umstand wird im [T162] im weiteren Verlauf besprochen.

Bericht [10.10.2021][1113]

Ich werde eine Reihe von Methoden entwickeln, dessen Aufgaben darin bestehen werden, die Ordnerstrukturen zu überprüfen.

Es stellt sich heraus, dass die Ermittlung des Namens der Partition nicht ganz einfach ist. Mein erster Lösungsansatz war es die [pywin32]-Library auszuprobieren. Es führte jedoch zu Fehlern bei der DLL Implementierung.

Einen etwas besseren Lösungsansatz fand ich hier. Es ist ein Beitrag bei StackOverflow von Nicholas Orlowski. Weil es [ctypes]-Modul benutzt, muss ich nichts zusätzlich überprüfen oder installieren.

Beim [ctypes]-Modul haben wir auch Zugriff auf [kernel32].
E:\2021\Projekte\Python\2021\06_jun\IAP-20210601-20210722-1145\DOCS\
20211010-RPRCSL-CHKSTRC_VOLUME_NAME.txt
import ctypes

def CHKSTRC_VOLUME_NAME(VOLUME_LETTER):
volumeName = None
kernel32 = ctypes.windll.kernel32
volumeNameBuffer = ctypes.create_unicode_buffer(1024)
fileSystemNameBuffer = ctypes.create_unicode_buffer(1024)
serial_number = None
max_component_length = None
file_system_flags = None

rc = kernel32.GetVolumeInformationW(
ctypes.c_wchar_p(VOLUME_LETTER+":\\"),
volumeNameBuffer,
ctypes.sizeof(volumeNameBuffer),
serial_number,
max_component_length,
file_system_flags,
fileSystemNameBuffer,
ctypes.sizeof(fileSystemNameBuffer)
)
return volumeNameBuffer.value

'''
--------------------------------------
Ausgabe:
--------------------------------------

VOLUME_LETTER: 'E'
CHKSTRC_VOLUME_NAME('E'): ext-hrd-1
'''

Bericht [10.10.2021][2145]
Ich benötige noch eine Methode, die in der Lage sein wird die verfügbaren Speichermedien aus dem System auszulesen.

E:\2021\Projekte\Python\2021\06_jun\IAP-20210601-20210722-1145\DOCS\
20211010-RPRCSL-CHKSTRC_LOGICALDRIVES.txt
import ctypes

def CHKSTRC_LOGICALDRIVES():
print(f"CHKSTRC_LOGICALDRIVES")
string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
drives = []
bitmask = ctypes.windll.kernel32.GetLogicalDrives()
print(f"bitmask: {bitmask:b}")
print("")
for letter in string:
if bitmask & 1:
drives.append(letter)
bitmask >>= 1
return drives
'''
----------------------------------------------
Ausgabe:
----------------------------------------------
CHKSTRC_LOGICALDRIVES
bitmask: 1011100

CHKSTRC_LOGICALDRIVES():['C', 'D', 'E', 'G']
'''



Hochachtungsvoll
Artem Kraft



Kommentare

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325