J'ai un service C# le serveur de socket Web. Quand une connexion de socket Web est reçue, je reçois l'ID de processus de l'application de connexion (Chrome) à partir de la socket, puis je reçois l'ID de session de ce processus. L'obtention de l'ID de processus et de l'ID de session est effectuée dans une DLL C++ chargée par le service C#.ProcessIdToSessionId renvoie un ID de session incorrect
Regarder l'onglet Processus dans le Gestionnaire des tâches que je vois une entrée pour chrome.exe avec un PID de 5640 et un ID de session 45.
dans le dll C++ J'utilise GetExtendedTcpTable() pour trouver le processus ID du port. Cela semble fonctionner correctement lorsque je récupère l'ID de processus correct (dans mon exemple, PID est 5640). Toutefois, lorsque j'utilise cet ID de processus dans ProcessIdToSessionId(), l'ID de session renvoyé est 44!
Pourquoi ProcessIdToSessionId() renvoie l'ID de session incorrect?
OS est Windows 7 32 bits.