структура SUPPORT_FUNCTIONS_50 (routprot.h)
Структура SUPPORT_FUNCTIONS используется диспетчером маршрутизатора для передачи протокола маршрутизации набора указателей на функции, предоставляемые диспетчером маршрутизатора.
Синтаксис
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;
Члены
_Align8
dwVersion
dwReserved
DemandDialRequest
Протокол маршрутизации вызывает DemandDialRequest для инициации подключения по запросу.
Указатель на функцию DemandDialRequest , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
ProtocolId
Указывает идентификатор протокола маршрутизации, от имени которого должно быть установлено соединение. (Обычно этот параметр является идентификатором протокола маршрутизации вызовов.)
InterfaceIndex
Указывает идентификатор интерфейса, для которого должно быть установлено соединение.
SetInterfaceReceiveType
Протокол маршрутизации вызывает функцию SetInterfaceReceiveType , чтобы задать возможность получения указанного интерфейса.
Указатель на функцию SetInterfaceReceiveType , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
ProtocolId
Указывает идентификатор протокола маршрутизации, который выполняет вызов.
InterfaceIndex
Указывает индекс интерфейса, для которого необходимо задать тип получения.
InterfaceReceiveType
Указывает тип получения. Этот параметр должен иметь одно из следующих значений.
IR_PROMISCUOUS
IR_PROMISCUOUS_MULTICAST
bActivate
Указывает, следует ли активировать интерфейс.
ValidateRoute
Протокол маршрутизации вызывает функцию ValidateRoute для установки предпочтительного маршрута и выполнения другой проверки маршрута.
Указатель на функцию ValidateRoute , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
ProtocolId
Указывает идентификатор протокола маршрутизации, который выполняет вызов.
RouteInfo
Указатель на сведения, описывающие маршрут для проверки.
DestAddress
Указатель на сведения, описывающие адрес назначения. Этот параметр является необязательным и может иметь значение NULL.
MIBEntryCreate
Протокол маршрутизации вызывает MIBEntryCreate для выполнения запроса Create диспетчера маршрутизатора или библиотеки DLL однорангового протокола. Реализуйте эту функцию для обработки запросов в стиле SNMP.
Указатель на функцию MIBEntryCreate , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
dwRoutingPid
Указывает идентификатор библиотеки DLL, которая должна обрабатывать этот запрос. Этот параметр может быть идентификатором диспетчера маршрутизатора или идентификатором протокола маршрутизации.
InputDataSize
Указывает размер (в байтах) данных, передаваемых с помощью запроса на создание.
InputData
Указатель на данные, передаваемые с запросом на создание.
MIBEntryDelete
Указатель на функцию MIBEntryDelete , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
MIBEntrySet
Протокол маршрутизации вызывает MIBEntrySet для выполнения запроса set в стиле SNMP MIB диспетчера маршрутизатора или библиотеки DLL однорангового протокола.
Указатель на функцию MIBEntrySet , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
dwRoutingPid
Указывает идентификатор библиотеки DLL, обрабатывающей этот запрос. Этот параметр может быть идентификатором диспетчера маршрутизатора или идентификатором протокола маршрутизации.
InputDataSize
Указывает размер (в байтах) данных, передаваемых с помощью запроса Set.
InputData
Указатель на данные, передаваемые с запросом Set.
MIBEntryGet
Протокол маршрутизации вызывает MIBEntryGet для выполнения запроса Get диспетчера маршрутизатора или библиотеки DLL однорангового протокола. Реализуйте эту функцию для обработки запросов в стиле SNMP.
Указатель на функцию MIBEntryGet , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
dwRoutingPid
Указывает идентификатор библиотеки DLL, обрабатывающей этот запрос. Этот параметр может быть идентификатором диспетчера маршрутизатора или идентификатором протокола маршрутизации.
InputDataSize
Указывает размер (в байтах) данных, передаваемых с запросом Get.
InputData
Указатель на данные, передаваемые с запросом Get.
OutputDataSize
Указатель на переменную DWORD :
На входных данных эта переменная содержит размер выходного буфера в байтах.
На выходе эта переменная содержит размер в байтах данных, помещенных в выходной буфер. Если начальный размер недостаточно велик, эта переменная содержит размер буфера, необходимый для хранения всех выходных данных.
OutputData
Получает указатель на буфер, содержащий данные из записи MIB.
MIBEntryGetFirst
Протокол маршрутизации вызывает MIBEntryGetFirst для выполнения запроса Get First диспетчера маршрутизатора или библиотеки DLL однорангового протокола. Реализуйте эту функцию для обработки запросов в стиле SNMP.
Указатель на функцию MIBEntryGetFirst , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
dwRoutingPid
Указывает идентификатор библиотеки DLL, которая должна обрабатывать этот запрос. Этот параметр может быть идентификатором диспетчера маршрутизатора или идентификатором протокола маршрутизации.
InputDataSize
Задает размер данных в байтах, передаваемых с помощью запроса Get First.
InputData
Указатель на данные, передаваемые с помощью запроса Get First.
OutputDataSize
Указатель на переменную DWORD :
На входных данных эта переменная задает размер выходного буфера в байтах.
При выходе эта переменная получает размер в байтах данных, помещенных в выходной буфер. Если начальный размер недостаточно велик, эта переменная содержит размер буфера, необходимый для хранения всех выходных данных.
OutputData
Указатель на буфер, который получает данные из записи MIB.
MIBEntryGetNext
Протокол маршрутизации вызывает MIBEntryGetNext для выполнения запроса Get Next диспетчера маршрутизатора или библиотеки DLL однорангового протокола. Реализуйте эту функцию для обработки запросов в стиле SNMP.
Указатель на функцию MIBEntryGetNext , предоставляемую диспетчером маршрутизатора для протокола маршрутизации.
dwRoutingPid
Указывает идентификатор библиотеки DLL, обрабатывающей этот запрос. Этот параметр может быть идентификатором диспетчера маршрутизатора или идентификатором протокола маршрутизации.
InputDataSize
Указывает размер (в байтах) данных, передаваемых с помощью запроса Get Next.
InputData
Указатель на данные, передаваемые с помощью запроса Get Next.
OutputDataSize
Указатель на переменную DWORD :
На входных данных эта переменная задает размер выходного буфера (в байтах).
При выходе эта переменная получает размер (в байтах) данных, помещенных в выходной буфер. Если начальный размер недостаточно велик, эта переменная содержит размер буфера, необходимый для хранения всех выходных данных.
OutputData
Указатель на буфер, содержащий данные из записи MIB.
GetRouterId
HasMulticastBoundary
Требования
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | routprot.h |