Partager via


Méthode INetFwMgr ::IsPortAllowed (netfw.h)

[L’API pare-feu Windows est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Pour Windows Vista et versions ultérieures, l’utilisation du Pare-feu Windows avec l’API Advanced Security est recommandée.]

Détermine si une application peut écouter le trafic entrant sur le port spécifié.

Syntaxe

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
);

Paramètres

[in] imageFileName

Nom du fichier image du processus à l’écoute sur le réseau. Il doit s’agir d’un chemin complet, mais peut contenir des variables d’environnement. Si imageFileName a la valeur NULL, la fonction détermine si le port est autorisé pour toutes les applications.

[in] ipVersion

Version IP du trafic. Si localAddress n’a pas la valeur NULL, cela ne doit pas être NET_FW_IP_VERSION_ANY.

[in] portNumber

Numéro de port IP local du trafic.

[in] localAddress

Une adresse IPv4 décimale en pointillés ou une adresse hexadécimale IPv6 spécifiant l’adresse locale du trafic. En règle générale, il s’agit de l’adresse passée à lier. Si localAddress a la valeur NULL, la fonction détermine si le port est autorisé pour toutes les interfaces.

[in] ipProtocol

Protocole IP du trafic, NET_FW_IP_PROTOCOL_TCP ou NET_FW_IP_PROTOCOL_UDP.

[out] allowed

Indique par une valeur de VARIANT_TRUE ou VARIANT_FALSE si le port est autorisé pour au moins certaines interfaces locales et adresses distantes.

[out] restricted

Indique par une valeur de VARIANT_TRUE ou VARIANT_FALSE si certaines interfaces locales ou adresses distantes sont bloquées pour ce port. Par exemple, si le port est limité au sous-réseau local uniquement.

Valeur retournée

C++

Code de retour Description
E_ACCESSDENIED
L’opération a été arrêtée en raison de problèmes d’autorisations.
E_INVALIDARG
La méthode a échoué, car un paramètre n’était pas valide.
E_OUTOFMEMORY
La méthode n’a pas pu allouer la mémoire requise.
E_POINTER
La méthode a échoué, car un pointeur n’était pas valide.
 

VB

Si la méthode réussit, la valeur de retour est S_OK.

Si la méthode échoue, la valeur de retour est l’un des codes d’erreur suivants.

Code de retour Description
E_ACCESSDENIED
L’opération a été arrêtée en raison de problèmes d’autorisations.
E_INVALIDARG
La méthode a échoué, car un paramètre n’était pas valide.
E_OUTOFMEMORY
La méthode n’a pas pu allouer la mémoire requise.
E_POINTER
La méthode a échoué, car un pointeur n’était pas valide.

Remarques

La méthode INetFwPolicy2 ::IsRuleGroupEnabled est généralement recommandée à la place de cette méthode.

La méthode IsPortAllowed vérifie si le trafic sera autorisé avec la configuration actuelle du pare-feu pour :

  • Une application spécifique.
  • Un port spécifique.
  • Application spécifique sur un port spécifique.

Dans son opération IsPortAllowed détermine si le pare-feu est actuellement activé ou désactivé, si l’application est autorisée dans la liste d’exceptions du profil actuel, si le port est autorisé dans la liste d’exceptions de profil actuel, si l’option de partage de fichiers et d’impression a été activée et si l’option d’administration à distance a été activée.

En raison des nombreux facteurs qui déterminent si un port est autorisé, plus les informations spécifiques fournies via les paramètres d’entrée de cette méthode sont nombreux, plus il est probable qu’un résultat clair avec des restrictions significatives soit retourné.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista, Windows XP avec SP2 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
Plateforme cible Windows
En-tête netfw.h
DLL FirewallAPI.dll ; Hnetcfg.dll sur Windows XP avec SP2

Voir aussi

INetFwMgr

NET_FW_IP_PROTOCOL

NET_FW_IP_VERSION