INetFwMgr::IsPortAllowed-Methode (netfw.h)

[Die Windows-Firewall-API steht für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen zur Verfügung. Es kann in nachfolgenden Versionen geändert oder entfernt werden. Für Windows Vista und höher wird die Verwendung der Windows-Firewall mit erweiterter Sicherheits-API empfohlen.]

Bestimmt, ob eine Anwendung auf eingehenden Datenverkehr am angegebenen Port lauschen kann.

Syntax

HRESULT IsPortAllowed(
  [in]  BSTR               imageFileName,
  [in]  NET_FW_IP_VERSION  ipVersion,
  [in]  LONG               portNumber,
  [in]  BSTR               localAddress,
  [in]  NET_FW_IP_PROTOCOL ipProtocol,
  [out] VARIANT            *allowed,
  [out] VARIANT            *restricted
);

Parameter

[in] imageFileName

Der Imagedateiname des Prozesses, der im Netzwerk lauscht. Es muss ein vollqualifizierter Pfad sein, kann aber Umgebungsvariablen enthalten. Wenn imageFileNameNULL ist, bestimmt die Funktion, ob der Port für alle Anwendungen zulässig ist.

[in] ipVersion

IP-Version des Datenverkehrs. Wenn localAddress nicht NULL ist, darf dies nicht NET_FW_IP_VERSION_ANY werden.

[in] portNumber

Lokale IP-Portnummer des Datenverkehrs.

[in] localAddress

Entweder eine gepunktete dezimale IPv4-Adresse oder eine IPv6-Hexadezimaladresse, die die lokale Adresse des Datenverkehrs angibt. In der Regel ist dies die Adresse, die an die Bindung übergeben wird. Wenn localAddressNULL ist, bestimmt die Funktion, ob der Port für alle Schnittstellen zulässig ist.

[in] ipProtocol

IP-Protokoll des Datenverkehrs, entweder NET_FW_IP_PROTOCOL_TCP oder NET_FW_IP_PROTOCOL_UDP.

[out] allowed

Gibt durch den Wert VARIANT_TRUE oder VARIANT_FALSE an, ob der Port für mindestens einige lokale Schnittstellen und Remoteadressen zulässig ist.

[out] restricted

Gibt durch den Wert VARIANT_TRUE oder VARIANT_FALSE an, ob einige lokale Schnittstellen oder Remoteadressen für diesen Port blockiert sind. Beispielsweise, wenn der Port nur auf das lokale Subnetz beschränkt ist.

Rückgabewert

C++

Rückgabecode Beschreibung
E_ACCESSDENIED
Der Vorgang wurde aufgrund von Berechtigungsproblemen beendet.
E_INVALIDARG
Bei der Methode ist ein Fehler aufgetreten, weil ein Parameter ungültig war.
E_OUTOFMEMORY
Die -Methode konnte den erforderlichen Arbeitsspeicher nicht zuordnen.
E_POINTER
Fehler bei der Methode, weil ein Zeiger ungültig war.
 

VB

Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK.

Wenn die Methode fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Rückgabecode Beschreibung
E_ACCESSDENIED
Der Vorgang wurde aufgrund von Berechtigungsproblemen beendet.
E_INVALIDARG
Bei der Methode ist ein Fehler aufgetreten, weil ein Parameter ungültig war.
E_OUTOFMEMORY
Die -Methode konnte den erforderlichen Arbeitsspeicher nicht zuordnen.
E_POINTER
Fehler bei der Methode, weil ein Zeiger ungültig war.

Hinweise

Anstelle dieser Methode wird im Allgemeinen die INetFwPolicy2::IsRuleGroupEnabled-Methode empfohlen.

Die IsPortAllowed-Methode überprüft, ob Datenverkehr mit der aktuellen Firewallkonfiguration zulässig ist für:

  • Eine bestimmte Anwendung.
  • Ein bestimmter Port.
  • Eine bestimmte Anwendung an einem bestimmten Port.

Bei seinem Vorgang berücksichtigt IsPortAllowed , ob die Firewall derzeit aktiviert oder deaktiviert ist, ob die Anwendung in der aktuellen Profilausnahmeliste zulässig ist, ob der Port in der aktuellen Profilausnahmeliste zulässig ist, ob die Datei- und Druckfreigabeoption aktiviert wurde und ob die Remoteverwaltungsoption aktiviert wurde.

Aufgrund der vielen Faktoren bei der Bestimmung, ob ein Port zulässig ist, wird je spezifischer informationen, die über die Eingabeparameter dieser Methode angegeben werden, desto wahrscheinlicher wird ein klares Ergebnis mit aussagekräftigen Einschränkungen zurückgegeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista, Windows XP mit SP2 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile netfw.h
DLL FirewallAPI.dll; Hnetcfg.dll unter Windows XP mit SP2

Weitere Informationen

INetFwMgr

NET_FW_IP_PROTOCOL

NET_FW_IP_VERSION