Поделиться через


структура 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

См. также раздел

StartProtocol