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 |
---|---|
|
L’opération a été arrêtée en raison de problèmes d’autorisations. |
|
La méthode a échoué, car un paramètre n’était pas valide. |
|
La méthode n’a pas pu allouer la mémoire requise. |
|
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 |
---|---|
|
L’opération a été arrêtée en raison de problèmes d’autorisations. |
|
La méthode a échoué, car un paramètre n’était pas valide. |
|
La méthode n’a pas pu allouer la mémoire requise. |
|
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 |