다음을 통해 공유


네트워크 목록 관리자 API 정보

Microsoft Windows 네트워킹 환경을 사용하면 멀티홈 컴퓨터가 여러 네트워크에 동시에 연결할 수 있습니다. LAN 및 전화 접속 연결과 함께 여러 무선 네트워크를 사용할 수 있습니다. 네트워크 목록 관리자는 사용 가능한 네트워크를 식별하고 네트워크 특성 데이터를 애플리케이션에 반환합니다.

네트워크 목록 관리자 API는 네트워크 목록 관리자 서비스와 상호 작용하여 PC가 연결하는 각 네트워크의 속성을 식별하고 검색합니다. 각 네트워크는 해당 네트워크의 고유하게 식별 가능한 속성을 기반으로 네트워크 서명으로 고유하게 식별됩니다. 애플리케이션이 네트워크 목록 관리자 알림을 등록하면 애플리케이션은 새 네트워크 연결의 가용성 또는 기존 네트워크 연결 변경에 대한 알림을 받습니다. 애플리케이션은 연결된 네트워크에 따라 논리를 조정할 수 있습니다. 연결된 네트워크 연결 또는 네트워크 속성이 무엇인지 확인합니다. 이 정보를 사용하여 애플리케이션은 현재 네트워크 조건에 따라 작업을 미세 조정할 수 있습니다.

Windows Vista에는 이러한 네트워크 특성 등에 대한 자세한 정보를 얻는 데 사용할 수 있는 새로운 인터페이스가 도입되었습니다. INetworkListManager 인터페이스를 사용하면 컴퓨터에서 지금까지 본 모든 네트워크(INetwork) 또는 연결된 네트워크 또는 연결이 끊긴 네트워크만 쉽게 열거할 수 있습니다. 또한 INetworkListManager 인터페이스를 사용하면 컴퓨터의 네트워크 인터페이스를 쉽게 열거할 수 있습니다.

INetwork 인터페이스는 이름, 설명, ID, 관리/인증, 연결/연결 끊김 등 네트워크 연결의 속성을 확인하는 데 사용됩니다. 단일 네트워크가 여러 인터페이스에 연결될 수 있으므로 INetwork 인터페이스를 통해 사용 중인 INetwork 인터페이스의 인스턴스를 열거할 수도 있습니다.

INetwork 인터페이스는 ID, GUID, 형식(관리형, 인증됨) 및 상태(연결됨, 연결이 끊긴 V4 로컬, V4 인터넷, V6 로컬, V6 인터넷)와 같은 인터페이스의 관련 속성을 알려줍니다. V4 로컬은 IPv4(인터넷 프로토콜 버전 4) 로컬 액세스를 의미합니다. V4 인터넷은 인터넷에 액세스할 수 있는 IPv4를 의미합니다. V6 로컬 및 V6 인터넷은 IPv6를 의미합니다.

네트워크 위치에 대한 개체 트리의 루트는 INetworkListManager 인터페이스입니다. 이 인터페이스는 CLSID_NetworkListManager coclass에서 구현됩니다. 이 인터페이스를 사용하려면 다음과 같이 CLSID_NetworkListManager COM 개체를 만들어야 합니다.

#include <windows.h>
#include <netlistmgr.h>

#pragma comment(lib, "ole32.lib")

void main()
{
    INetworkListManager *pNetworkListManager = NULL; 
    HRESULT hr = CoCreateInstance(CLSID_NetworkListManager, NULL,
            CLSCTX_ALL, IID_INetworkListManager,
            (LPVOID *)&pNetworkListManager);
}