Aracılığıyla paylaş


GetIpInterfaceEntry işlevi

GetIpInterfaceEntry işlevi, yerel bilgisayarda belirtilen arabirim için IP bilgilerini alır.

Sözdizimi

NETIOAPI_API GetIpInterfaceEntry(
  _Inout_ PMIB_IPINTERFACE_ROW Row
);

Parametre

  • Satır [in, out]
    Başarılı bir dönüşte yerel bilgisayardaki bir arabirim için bilgi alan bir MIB_IPINTERFACE_ROW yapısının işaretçisi. Girişte sürücünüzün InterfaceLuid üyesini veya MIB_IPINTERFACE_ROW InterfaceIndex üyesini bilgilerini almak üzere arabirime ayarlaması gerekir.

Dönüş değeri

GetIpInterfaceEntry işlevi başarılı olursa STATUS_SUCCESS döndürür.

İşlev başarısız olursa GetIpInterfaceEntry aşağıdaki hata kodlarından birini döndürür:

İade kodu Açıklama
STATUS_INVALID_PARAMETER

İşleve geçersiz bir parametre geçirildi. Satırı parametresinde bir NULL işaretçisi geçirilirse bu hata döndürülür. Satırı parametresinin işaretdiği MIB_IPINTERFACE_ROW yapısının Ailesi üyesi AF_INET veya AF_INET6 olarak belirtilmedi ya da MIB_IPINTERFACE_ROW yapısının üyeleri InterfaceLuid ve InterfaceIndex belirtilmemişti.

STATUS_NOT_FOUND

Belirtilen arabirim bulunamadı. İşlev, Satırı parametresinin işaret ettiği MIB_IPINTERFACE_ROW yapısının InterfaceLuid veya InterfaceIndex üyesi tarafından belirtilen ağ arabirimini bulamazsa bu hata döndürülür.

Diğer

Döndürülen hatanın ileti dizesini almak için FormatMessage işlevini kullanın.

Açıklamalar

Girişte, sürücünüz Satır parametresinin işaret MIB_IPINTERFACE_ROW yapısının aşağıdaki üyelerini başlatmalıdır.

  • Aile
    AF_INET veya AF_INET6 olarak ayarlayın.

  • InterfaceLuid veya InterfaceIndex
    Bu üyeler daha önce listelenen sırayla kullanılır. Bu nedenle InterfaceLuid belirtilirse, arabirimi belirlemek için bu üye kullanılır. InterfaceLuid üyesi için değer ayarlanmadıysa (bu üyenin değeri sıfır olarak ayarlandı), arabirimi belirlemek için InterfaceIndex üyesi kullanılır.

Çıktıda GetIpInterfaceEntry , Satır parametresinin işaret MIB_IPINTERFACE_ROW yapısının kalan üyelerini doldurur.

Bir MIB_IPINTERFACE_ROW yapısı girdisinin alanlarını varsayılan değerlerle başlatmak için sürücünüz initializeipinterfaceEntryişlevini kullanmalıdır. Sürücü daha sonra değiştirmek istediği MIB_IPINTERFACE_ROW girdisindeki alanları değiştirebilir ve ardından SetIpInterfaceEntry işlevini çağırabilir.

Farklı güvenlik gereksinimleri olan birden çok ağa ayrıcalıksız eşzamanlı erişim bir güvenlik deliği oluşturur ve ayrıcalıksız bir sürücünün verileri yanlışlıkla iki ağ arasında geçirmesini sağlar. Tipik bir örnek, sanal özel ağa (VPN) ve İnternet'e eşzamanlı erişimdir. Windows Server 2003 ve Windows XP işletim sistemleri, Uzaktan Erişim Hizmeti'nin (RAS) diğer arabirimler üzerindeki tüm varsayılan yolların yol ölçümünü artırarak bu tür eşzamanlı erişimi önlediği zayıf bir konak modeli kullanır. Bu nedenle, tüm trafik VPN arabirimi üzerinden yönlendirilir ve diğer ağ bağlantısını kesintiye uğratır.

Windows Vista ve Windows işletim sistemlerinin sonraki sürümlerinde, varsayılan olarak güçlü bir konak modeli kullanılır. Yol aramasında GetBestRoute2işlevi kullanılarak bir kaynak IP adresi belirtilirse, yol araması kaynak IP adresinin arabirimiyle sınırlıdır. Olası yolların listesi, İnternet'e giden trafiği etkinleştiren VPN arabiriminin rotasına bile sahip olmadığından RAS tarafından yapılan yol ölçümü değişikliğinin hiçbir etkisi yoktur. Sürücünüz, MIB_IPINTERFACE_ROW DisableDefaultRoutes üyesini kullanarak bir arabirimde varsayılan yolu kullanmayı devre dışı bırakabilir. VPN istemcileri, VPN istemcisi için bölünmüş tünel gerekli olmadığında bölünmüş tüneli kısıtlamak için bu üyeyi güvenlik önlemi olarak kullanabilir. VPN istemcisi, gerektiğinde DisableDefaultRoutes üyesini TRUE ayarlamak için SetIpInterfaceEntry işlevini çağırabilir. VPN istemcisi, GetIpInterfaceEntry işlevini çağırarak DisableDefaultRoutes üyesinin geçerli durumunu sorgulayabilir.

Gereksinim -leri

Hedef platform

Evrensel

Sürüm

Windows Vista ve Windows işletim sistemlerinin sonraki sürümlerinde kullanılabilir.

Üstbilgi

Netioapi.h (Netioapi.h içerir)

Kütüphane

Netio.lib

IRQL

< DISPATCH_LEVEL

Ayrıca bkz.

GetBestRoute2

GetIfEntry2

GetIfTable2

GetIfTable2Ex

GetIpInterfaceTable

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

SetIpInterfaceEntry