Partager via


PGET_NEIGHBORS fonction de rappel (routprot.h)

Le gestionnaire de routeur appelle la fonction GetNeighbors pour obtenir le querier pour le réseau attaché via l’interface spécifiée.

Le type PGET_NEIGHBORS définit un pointeur vers cette fonction de rappel. GetNeighbors est un espace réservé pour le nom de fonction défini par l’application.

Syntaxe

PGET_NEIGHBORS PgetNeighbors;

DWORD PgetNeighbors(
  [in]      DWORD InterfaceIndex,
  [in]      PDWORD NeighborList,
  [in, out] PDWORD NeighborListSize,
  [out]     PBYTE InterfaceFlags
)
{...}

Paramètres

[in] InterfaceIndex

Spécifie l’index de l’interface sur laquelle le protocole de routage doit fournir le querier.

[in] NeighborList

Pointeur vers un tableau de variables DWORD . Le protocole de routage doit remplir ce tableau avec l’adresse du querier.

Si l’ordinateur local est le serveur pour le réseau attaché via l’interface spécifiée, le protocole de routage n’a pas besoin de remplir cette variable. Au lieu de cela, le protocole de routage doit définir la valeur pointée par NeighborListSize sur zéro. En outre, le protocole de routage doit ajouter MRINFO_QUERIER_FLAG aux indicateurs retournés dans le paramètre InterfaceFlags .

[in, out] NeighborListSize

Lors de l’entrée, pointeur vers une variable DWORD .

Lors de la sortie, le protocole de routage remplit cette variable avec la longueur, en octets, de l’adresse retournée dans le paramètre NeighborList .

[out] InterfaceFlags

Reçoit un ou plusieurs des indicateurs suivants. Les indicateurs décrivent la relation de l’ordinateur local avec d’autres ordinateurs sur le réseau connectés via l’interface spécifiée.

MRINFO_TUNNEL_FLAGMRINFO_LEAF_FLAGMRINFO_DOWN_FLAG MRINFO_DISABLED_FLAGMRINFO_QUERIER_FLAG MRINFO_PIM_FLAG MRINFO_LEAF_FLAG

Valeur retournée

Si la fonction réussit, la valeur de retour est NO_ERROR.

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

Valeur Description
ERROR_CAN_NOT_COMPLETE
Le protocole de routage n’a pas pu terminer la requête.
ERROR_INSUFFICIENT_BUFFER
La taille de la mémoire tampon pointée par NeighborList n’est pas suffisamment grande pour contenir l’adresse. La taille requise est retournée dans la variable DWORD pointée par le paramètre NeighborListSize .
ERROR_INVALID_PARAMETER
Le paramètre InterfaceIndex n’est pas valide (par exemple, aucune interface n’existe avec cet index).

Remarques

Seuls les protocoles de routage multidiffusion sont requis pour implémenter cette fonction. Les protocoles de routage non multidiffusion doivent passer NULL comme valeur de pointeur pour cette fonction dans MPR_ROUTING_CHARACTERISTICS

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête routprot.h

Voir aussi

GetMfeStatus