Delen via


ReleasePseudoConsole-functie

Hiermee wordt eigendom van de handle aan de pseudoconsole overgedragen, waardoor deze HPCON automatisch afsluit zodra alle clients de verbinding hebben verbroken.

Syntaxis

HRESULT WINAPI ReleasePseudoConsole(
    _In_ HPCON hPC
);

Parameterwaarden

hPC [in] Een ingang naar een actieve pseudoconsole zoals geopend door CreatePseudoConsole.

Retourwaarde

Type: HRESULT

Als deze methode slaagt, wordt S_OKgeretourneerd. Anders wordt een HRESULT- foutcode geretourneerd. De aanroep wordt niet verwacht te mislukken, tenzij het hPC-argument ongeldig is in welk geval het E_INVALIDARG retourneert.

Opmerkingen

Waarschuwing

ReleasePseudoConsole maakt de toewijzing van het geheugen dat is gekoppeld aan de HPCON niet ongedaan. U moet nog steeds ClosePseudoConsole aanroepen wanneer u klaar bent met de HPCON-instantie. Zie ClosePseudoConsole voor belangrijke informatie over het juiste gebruik.

De HPCON-handle die eigendom is van uw toepassing houdt de pseudoconsolesessie standaard onbepaald actief. In eerdere versies van Windows zou alleen ClosePseudoConsole het eigendom van de HPCON-ingang ongedaan maken. Het zou echter ook wachten totdat alle clients de verbinding hadden verbroken voordat ze terugkeerden.

Dit heeft tot twee problemen geleid:

  1. Het was niet mogelijk betrouwbaar te detecteren of alle clients de verbinding hadden verbroken. Het is onvoldoende om alleen te testen of het oorspronkelijk gestarte consoleproces is beƫindigd, want het kan extra processen hebben voortgebracht die nog steeds actief zijn.
  2. Het heeft een levenscyclus en eigendomslus gecreƫerd tussen de pseudoconsole en de toepassing. Uw toepassing houdt de pseudoconsolesessie actief door de HPCON-ingang ingedrukt te houden, terwijl de pseudoconsole uw toepassing actief zou houden, omdat u wachtte op een indicatie dat alle clients de verbinding hadden verbroken voordat ze ClosePseudoConsole aanroepen.

ReleasePseudoConsole lost dit probleem op: na het aanroepen van deze functie wordt de pseudoconsole automatisch afgesloten zodra alle clients de verbinding hebben verbroken. U hoeft nu alleen maar te lezen van of te schrijven naar uw uitvoer- en invoerpijpgrepen totdat er een fout wordt geretourneerd. Dit geeft aan dat de verbinding met alle clients is verbroken en dat de pseudoconsole is afgesloten. Roep ClosePseudoConsole aan om de resterende bits vrij te geven waaraan de HPCON-ingang vasthoudt.

Voorbeelden

Zie Een pseudoconsolesessie maken voor een volledig overzicht van het gebruik van deze functie om een pseudoconsolesessie tot stand te brengen.

Behoeften

   
Minimaal ondersteunde client Windows 11 24H2 (build 26100) [alleen voor desktopapps]
Minimaal ondersteunde server Windows Server 2025 (build 26100)
Koptekst ConsoleApi.h (via WinCon.h, inclusief Windows.h)
Bibliotheek Kernel32.lib
DLL Kernel32.dll

Zie ook

Pseudoconsoles

Een pseudoconsolesessie maken

ClosePseudoConsole