SUPPORT_FUNCTIONS_50 structure (routprot.h)
La structure SUPPORT_FUNCTIONS est utilisée par le gestionnaire de routeur pour transmettre au protocole de routage un ensemble de pointeurs vers les fonctions fournies par le gestionnaire de routeur.
Syntaxe
typedef struct _SUPPORT_FUNCTIONS_50 {
union {
ULONGLONG _Align8;
struct {
DWORD dwVersion;
DWORD dwReserved;
};
};
DWORD( )(DWORD ProtocolId,DWORD InterfaceIndex) *DemandDialRequest;
DWORD( )(DWORD ProtocolId,DWORD InterfaceIndex,DWORD InterfaceReceiveType,BOOL bActivate) *SetInterfaceReceiveType;
DWORD( )(DWORD ProtocolId,PVOID RouteInfo,PVOID DestAddress) *ValidateRoute;
DWORD( )(DWORD dwRoutingPid,DWORD dwEntrySize,LPVOID lpEntry) *MIBEntryCreate;
DWORD( )(DWORD dwRoutingPid,DWORD dwEntrySize,LPVOID lpEntry) *MIBEntryDelete;
DWORD( )(DWORD dwRoutingPid,DWORD dwEntrySize,LPVOID lpEntry) *MIBEntrySet;
DWORD( )(DWORD dwRoutingPid,DWORD dwInEntrySize,LPVOID lpInEntry,LPDWORD lpOutEntrySize,LPVOID lpOutEntry) *MIBEntryGet;
DWORD( )(DWORD dwRoutingPid,DWORD dwInEntrySize,LPVOID lpInEntry,LPDWORD lpOutEntrySize,LPVOID lpOutEntry) *MIBEntryGetFirst;
DWORD( )(DWORD dwRoutingPid,DWORD dwInEntrySize,LPVOID lpInEntry,LPDWORD lpOutEntrySize,LPVOID lpOutEntry) *MIBEntryGetNext;
DWORD( )(VOID) *GetRouterId;
BOOL( )(DWORD dwIfIndex,DWORD dwGroupAddress) *HasMulticastBoundary;
} SUPPORT_FUNCTIONS_50;
Membres
_Align8
dwVersion
dwReserved
DemandDialRequest
Le protocole de routage appelle DemandDialRequest pour lancer une connexion de numérotation à la demande.
Pointeur vers la fonction DemandDialRequest fournie par le gestionnaire de routeur pour le protocole de routage.
ProtocolId
Spécifie l’identificateur du protocole de routage pour le compte duquel la connexion doit être établie. (Normalement, ce paramètre est l’identificateur du protocole de routage appelant.)
InterfaceIndex
Spécifie l’identificateur de l’interface pour laquelle la connexion doit être établie.
SetInterfaceReceiveType
Le protocole de routage appelle la fonction SetInterfaceReceiveType pour définir la fonctionnalité de réception de l’interface spécifiée.
Pointeur vers la fonction SetInterfaceReceiveType fournie par le gestionnaire de routeur pour le protocole de routage.
ProtocolId
Spécifie l’identificateur du protocole de routage qui effectue l’appel.
InterfaceIndex
Spécifie l’index de l’interface sur laquelle définir le type de réception.
InterfaceReceiveType
Spécifie le type de réception. Ce paramètre peut prendre les valeurs suivantes.
IR_PROMISCUOUS
IR_PROMISCUOUS_MULTICAST
bActiver
Spécifie s’il faut activer l’interface.
ValidateRoute
Le protocole de routage appelle la fonction ValidateRoute pour définir la préférence d’itinéraire et effectuer d’autres validations de routage.
Pointeur vers la fonction ValidateRoute fournie par le gestionnaire de routeur pour le protocole de routage.
ProtocolId
Spécifie l’identificateur du protocole de routage qui effectue l’appel.
RouteInfo
Pointeur vers des informations qui décrivent l’itinéraire à valider.
DestAddress
Pointeur vers des informations qui décrivent l’adresse de destination. Ce paramètre est facultatif et peut être NULL.
MIBEntryCreate
Le protocole de routage appelle MIBEntryCreate pour exécuter une requête Create du gestionnaire de routeur ou une DLL de protocole homologue. Implémentez cette fonction pour gérer les requêtes de style SNMP.
Pointeur vers la fonction MIBEntryCreate fournie par le gestionnaire de routeur pour le protocole de routage.
dwRoutingPid
Spécifie l’identificateur de la DLL qui doit traiter cette demande. Ce paramètre peut être l’identificateur du gestionnaire de routeur ou l’identificateur d’un protocole de routage.
InputDataSize
Spécifie la taille, en octets, des données à passer avec la demande De création.
InputData
Pointeur vers les données à passer avec la demande Create.
MIBEntryDelete
Pointeur vers la fonction MIBEntryDelete fournie par le gestionnaire de routeur pour le protocole de routage.
MIBEntrySet
Le protocole de routage appelle MIBEntrySet pour exécuter une requête Set de style SNMP MIB du gestionnaire de routeur ou d’une DLL de protocole homologue.
Pointeur vers la fonction MIBEntrySet fournie par le gestionnaire de routeur pour le protocole de routage.
dwRoutingPid
Spécifie l’identificateur de la DLL qui traite cette demande. Ce paramètre peut être l’identificateur du gestionnaire de routeur ou l’identificateur d’un protocole de routage.
InputDataSize
Spécifie la taille, en octets, des données à passer avec la demande Set.
InputData
Pointeur vers les données à transmettre avec la demande Set.
MIBEntryGet
Le protocole de routage appelle MIBEntryGet pour exécuter une requête Get du gestionnaire de routeur ou une DLL de protocole homologue. Implémentez cette fonction pour gérer les requêtes de style SNMP.
Pointeur vers la fonction MIBEntryGet fournie par le gestionnaire de routeur pour le protocole de routage.
dwRoutingPid
Spécifie l’identificateur de la DLL qui traite cette demande. Ce paramètre peut être l’identificateur du gestionnaire de routeur ou l’identificateur d’un protocole de routage.
InputDataSize
Spécifie la taille, en octets, des données à transmettre avec la requête Get.
InputData
Pointeur vers les données à transmettre avec la demande Get.
OutputDataSize
Pointeur vers une variable DWORD :
Lors de l’entrée, cette variable contient la taille, en octets, de la mémoire tampon de sortie.
Sur la sortie, cette variable contient la taille, en octets, des données placées dans la mémoire tampon de sortie. Si la taille initiale n’est pas suffisamment grande, cette variable contient la taille de mémoire tampon nécessaire pour contenir toutes les données de sortie.
OutputData
Reçoit le pointeur vers une mémoire tampon qui contient les données de l’entrée MIB.
MIBEntryGetFirst
Le protocole de routage appelle MIBEntryGetFirst pour exécuter une requête Get First du gestionnaire de routeur ou une DLL de protocole homologue. Implémentez cette fonction pour gérer les requêtes de style SNMP.
Pointeur vers la fonction MIBEntryGetFirst fournie par le gestionnaire de routeur pour le protocole de routage.
dwRoutingPid
Spécifie l’identificateur de la DLL qui doit traiter cette demande. Ce paramètre peut être l’identificateur du gestionnaire de routeur ou l’identificateur d’un protocole de routage.
InputDataSize
Spécifie la taille, en octets, des données à transmettre avec la demande Get First.
InputData
Pointeur vers les données à transmettre avec la requête Obtenir d’abord.
OutputDataSize
Pointeur vers une variable DWORD :
Lors de l’entrée, cette variable spécifie la taille, en octets, de la mémoire tampon de sortie.
Lors de la sortie, cette variable reçoit la taille, en octets, des données placées dans la mémoire tampon de sortie. Si la taille initiale n’est pas suffisamment grande, cette variable contient la taille de mémoire tampon nécessaire pour contenir toutes les données de sortie.
OutputData
Pointeur vers une mémoire tampon qui reçoit les données de l’entrée MIB.
MIBEntryGetNext
Le protocole de routage appelle MIBEntryGetNext pour exécuter une requête Get Next du gestionnaire de routeur ou une DLL de protocole homologue. Implémentez cette fonction pour gérer les requêtes de style SNMP.
Pointeur vers la fonction MIBEntryGetNext fournie par le gestionnaire de routeur pour le protocole de routage.
dwRoutingPid
Spécifie l’identificateur de la DLL qui traite cette demande. Ce paramètre peut être l’identificateur du gestionnaire de routeur ou l’identificateur d’un protocole de routage.
InputDataSize
Spécifie la taille, en octets, des données à passer avec la requête Get Next.
InputData
Pointeur vers les données à passer avec la requête Get Next.
OutputDataSize
Pointeur vers une variable DWORD :
En entrée, cette variable spécifie la taille, en octets, de la mémoire tampon de sortie.
À la sortie, cette variable reçoit la taille, en octets, des données placées dans la mémoire tampon de sortie. Si la taille initiale n’est pas suffisante, cette variable contient la taille de mémoire tampon requise pour contenir toutes les données de sortie.
OutputData
Pointeur vers une mémoire tampon qui contient les données de l’entrée MIB.
GetRouterId
HasMulticastBoundary
Spécifications
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | routprot.h |