Close-EulandaRegistryHiveHandles #
ÜBERSICHT #
Schließt alle offenen App-Hive-Handles des Prozesses, damit die Hive-Dateien von anderen Prozessen geöffnet werden können (z.B. ReportXtools.exe als Child-Prozess).
SYNTAX #
Close-EulandaRegistryHiveHandles [<CommonParameters>]
BESCHREIBUNG #
Windows erlaubt pro Hive-Datei genau einen offenen Schreib-Handle. Wenn EulandaXtools die Hive für eine Datenbank geöffnet hält und ein Child-Prozess dieselbe Datei öffnen möchte, scheitert das mit ERROR_SHARING_VIOLATION. Diese Funktion gibt die Handles frei - der nächste Cache-Access in der aktuellen Session öffnet die Hive danach automatisch wieder.
Typischer Einsatz im Plugin-Kontext:
Close-EulandaRegistryHiveHandles
& (Get-ReportXtoolsPath) /INVOICE:$InvoiceId ...
# Child hat die Hive jetzt exklusiv, liest/schreibt, schliesst sie.
# Folge-Aufruf an Get-EulandaRegistry* reoeffnet die Hive lazy.
Im LegacyStore-Modus (EULXT_REGCACHE=off) oder nach einem Legacy-Fallback ist die Funktion ein No-Op, weil keine Handles offen sind. Kann also bedenkenlos immer aufgerufen werden.
AUSGABEN #
Keine Rückgabe.
BEISPIELE #
# Mail-Anhang per ReportXtools.exe generieren
Close-EulandaRegistryHiveHandles
& 'C:\Program Files\EULANDA\ReportXtools.exe' `
/CONFIG:Invoice /ID:12345 /OUT:'C:\temp\rechnung.pdf'
# Cache wird beim nächsten Get-EulandaRegistry* transparent reaktiviert.