#pragma once #include 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; }