https://learn.microsoft.com/en-us/windows/win32/iphlp/ip-helper-start-page
IP Helper - Win32 apps
The Internet Protocol Helper (IP Helper) API enables the retrieval and modification of network configuration settings for the local computer.
learn.microsoft.com
Windows 의 IP Helper API 는 로컬 컴퓨터의 네트워크 에 관련해서 관련 정보를 획득하거나 수정하고 또 통지를 알아낼수 있는것에 도움이 되는 API들의 집합체이다.
네트워크 카드의 정보 - 예로 아이피 와 같은 것을 획득할때 사용한다.
델파이 에서는 이에 관련한 API가 래핑이 따로 되어 있지는 않다. 다만 오래전에 JEDI 팀에서 Jedi Windows API 를 만들어 놓은것이 있는데 현재는 JEDI 에서는 관리가 되고 있지 않고 있다. 다만 현재 델파이의 주인인 엠바카데로 에서 JwAPI 를 rtl 에 흡수 해서 사용하고 있다.
정확히 언제 흡수가 되어졌는지 모르겟으나 Windows.IpHlpAPI 가 있으면 확인해 보면 된다. - (관련 정보를 아시는 분은 댓글로 알려주시면 감사하겟습니다. ) 전체가 들어간건 아닌것 같고 XE7 기준으로 Windows.IpHlpApi, Windows.IpTypes, Windows.IpExprt, Winapi.IpRtrMib 등이 확인되고 있다.
다른 유닛들도 포함되어졌는지는 모르겟다.
그러니 XE2 이상의 버전을 사용한다면은 Windows.IphlpApi 등을 그대로 사용하면 되겟고 7 버전이나 라자루스를 사용한다면은 직접 다운로드 받아서 사용해야 한다.
라자루스 4 의 경우는 fpc\version\source\packages\winunits-jedi 디렉토리에 포함되어져 배포가 되고 있으니 그냥 쓰면 된다.
델파이 7 의 경우는 여기에서 JEDI Windows API 를 다운받으면 된다. 굉장히 오래되긴 했지만 뭐 아쉬운대로 사용할수 있다.
엠바카데로 에서 JEDI 코드의 일부를 가져다 쓰기 때문에 그런지 JCL 과 JVCL 을 별도로 관리해서 GetIt 으로 배포하고 있다. Getit 은 좋지만 등록된 사용자가 아니면 접근할수 없는게 좀 아쉽다.
Jedi 팀의 코드들은 방대하기 때문에 델파이유저라면 한번쯤 들여다 봐도 좋겟다.
여튼간에 델파이 7, 라자루스 에서는 JWAPI 를 XE 이상이라면 rtl 를 사용하면 된다. IP Helper API는 기본적으로 JWAPI 이기 때문에 특별한 경우가 아니라면 유닛명만 다를뿐인데 일부 파일이 포함되지 않았기 때문에 그것만 조심 하면 된다. 예를 들어 jwaWS2tcpip 이 없는데 이부분은 jwa를 쓰거나 아니면 다른 방법으로 사용해야 하겟다.
여튼 최신의 SDK 가 반영되지 않았다는 점 고려해서 사용해보도록 하자.
'삽질 > 델파이' 카테고리의 다른 글
in_addr 구조체 (0) | 2025.03.26 |
---|---|
아이피 구하기 (0) | 2025.03.24 |
delphi Enum 에서 상수값을 문자열로... 또 반대로.. (0) | 2025.03.17 |
SystemMenu 에 메뉴아이템 추가. (0) | 2025.02.21 |
delphi / php 에서 강제 파일 다운로드 (0) | 2025.01.25 |