Files
Mstsc-Script-Hook/Shared/TriggerProtocol.h
T
patrick 4c51989600 feat: initiale Version 0.1.0 des MSTSC Script Hooks
- Native x64 MSTSC-DVC-Erweiterung für lokalen Programmstart
- Automatischer Script-/Programmstart bei RDP-Verbindungsaufbau
- Separater Programmstart über Trigger innerhalb der RDP-Sitzung
- Bidirektionaler DVC zur Ermittlung des lokalen Client-Hostnamens
- SIOMIN-Trigger zur Anbindung lokaler Sidexis-Installationen
- SIOMIN-Datensatzlängen und Hostname-Felder bytegenau angepasst
- Temporäre SIOMIN-Einträge nach erfolgreicher Übernahme bereinigt
- Native Win32-Konfigurationsoberfläche ohne .NET-Abhängigkeit
- Mehrfachstartschutz und optionaler unsichtbarer Programmstart
- Debug- und Plugin-Logging ergänzt
- RemoteVDDS-Anwendungsfall integriert
- Installer/Registrierung des MSTSC-Plugins über Client-Konfigurator
- Techniker-, Entwickler- und Projektdokumentation ergänzt
- Proprietäre Lizenz für Copyright Patrick Gniza hinzugefügt
2026-08-11 16:32:33 +02:00

33 lines
1.7 KiB
C++

#pragma once
#include <cstddef>
namespace hook::protocol
{
// Der Dynamic-Virtual-Channel-Name muss auf Client und Terminalserver identisch sein.
inline constexpr char kChannelName[] = "plandent::mstsc-script-hook";
// Absichtlich ein festes Protokollkommando ohne Pfad/Argumente.
// Der Terminalserver kann damit nur den lokal vorkonfigurierten Start anfordern.
inline constexpr char kStartMessage[] = "PLANDENT_MSTSC_HOOK/1 START";
inline constexpr std::size_t kStartMessageLength = sizeof(kStartMessage) - 1;
// START wird quittiert. Die Server-EXE wartet auf diese Antwort, bevor sie den
// DVC schliesst. Dadurch geht die START-Nachricht nicht durch ein zu fruehes
// Schliessen des kurzlebigen Kanals verloren.
inline constexpr char kStartOkResponse[] = "PLANDENT_MSTSC_HOOK/1 START_OK";
inline constexpr std::size_t kStartOkResponseLength = sizeof(kStartOkResponse) - 1;
inline constexpr char kStartFailedResponse[] = "PLANDENT_MSTSC_HOOK/1 START_FAILED";
inline constexpr std::size_t kStartFailedResponseLength = sizeof(kStartFailedResponse) - 1;
// Abfrage des tatsaechlichen Hostnamens des lokalen RDP-Clients.
// Der Name wird direkt auf dem Client vom Plugin ermittelt und nicht aus
// CLIENTNAME/COMPUTERNAME der Remotesitzung uebernommen.
inline constexpr char kGetClientHostnameMessage[] = "PLANDENT_MSTSC_HOOK/1 GET_CLIENT_HOSTNAME";
inline constexpr std::size_t kGetClientHostnameMessageLength = sizeof(kGetClientHostnameMessage) - 1;
inline constexpr char kClientHostnameResponsePrefix[] = "PLANDENT_MSTSC_HOOK/1 CLIENT_HOSTNAME ";
inline constexpr std::size_t kClientHostnameResponsePrefixLength = sizeof(kClientHostnameResponsePrefix) - 1;
}