W porządku, więc rozszerzam demona dostawcy flexlm mojej firmy, aby był on bardziej widoczny dla aplikacji klienckich.Znajdowanie portów TCP używanych przez aplikację
Muszę być w stanie dowiedzieć się, który port lmgrd nasłuchuje, zanim klienci się połączą. Dokumentacja API wydaje się raczej jałowa i uważam, że większość kodu zachowuje w skompilowanej formie, więc nie mogę po prostu spojrzeć na ich źródło.
Czy można wywołać niesamowitą moc interfejsu API systemu Windows, aby dowiedzieć się, z jakich portów korzysta dany proces? Jeśli Process Explorer od sysinternals może to zrobić, powinienem być w stanie to zrobić? Czy ktoś ma przykładowy kod do tego?
Musi obsługiwać system Windows XP i wyższy, ponieważ wielu naszych klientów nie zostało jeszcze uaktualnionych.
Edycja: Należy zauważyć, że okazuje się, że FLEX ma wsparcie dla wyciągnięcia portu z pliku licencji. Nie mam kodu przed sobą, ale wiem, że nie jest to najlepszy sposób na sprawdzenie, które porty działa demon twojego dostawcy/lmgrd.
Crap. Nie da się. Wydaje się, że funkcja GetTcpTable2 jest funkcją Vista i wyższą. Powinienem był określić, że powinien działać z Windows XP jako minimum, ponieważ wielu z naszych klientów jeszcze się nie zaktualizowało. Zaktualizuję mój pierwotny wpis. Doskonałe znalezisko, muszę powiedzieć. – RandomInsano
Tak ... wydaje się, że najbliższą wersją tego systemu jest AllocateAndGetTcpExTableFromStack http://msdn.microsoft.com/en-us/library/aa365804(v=vs.85).aspx – RandomInsano
Funkcje GetTcpTable lub GetExtendedTcpTable powinny służy do pobierania tabeli połączeń TCP zamiast korzystania z funkcji AllocateAndGetTcpExTableFromStack. Uwaga Funkcja AllocateAndGetTcpExTableFromStack jest przestarzała i nie jest obsługiwana w systemie Windows Vista i nowszych.W zestawie Microsoft Windows Software Development Kit (SDK) wydanym dla systemu Windows Vista i nowszych prototyp funkcji dla AllocateAndGetTcpExTableFromStack jest nadal zdefiniowany w pliku nagłówkowym Iphlpapi.h dla dalszej obsługi w systemach Windows Server 2003 i Windows XP. – flumpb