Вызов CreateIpForwardEntry возвращает ERROR_INVALID_PARAMETER. Документация PSDK описывает эту ошибку как:
Параметр pRoute равен NULL,
SetIpForwardEntry не может прочитать
из памяти, на которую указывает pRoute,
или один из членов
Структура MIB_IPFORWARDROW недопустима.
Я точно знаю, что pRoute не равен NULL и что вызов SetIpForwardEntry не задействован, что оставляет единственную причину ошибки, поскольку «один из членов структуры MIB_IPFORWARDROW недопустим».
Как мне узнать , который членов MIB_IPFORWARDROW является недействительным?
Для дальнейшего уточнения моего вопроса: я точно знаю, какое значение имеет каждый из этих членов (я регистрирую их). На данный момент, однако, я не могу сказать, какой из них является неправильным. Все они выглядят актуальными для меня. Было бы неплохо узнать , почему один из участников недействителен. Но для этого мне сначала нужно узнать , какие из них недействительны.
Например, в одном из тестовых случаев (которые выдают вышеупомянутую ошибку) у меня есть:
dwForwardDest = 199.239.136.200
dwForwardMask = 255.255.255.255
dwForwardPolicy = 0
dwForwardNextHop = 127.0.0.1
dwForwardIfIndex = 1
dwForwardType = 0
dwForwardProto = 0X2
dwForwardAge = 0
dwForwardNextHopAS = 0
dwForwardMetric1 = 1
dwForwardMetric2 = -1
dwForwardMetric3 = -1
dwForwardMetric4 = -1
dwForwardMetric5 = 0
Есть идеи, почему CreateIpForwardEntry () не согласится принять вышеуказанные параметры?
Обновление: советы, представленные ниже, были очень полезны, но на самом деле не метод , как сказать , какой член в структуре MIB_IPFORWARDROW является недопустимым. Я исправил два упомянутых участника, но проблема остается:
Dest = 199.239.136.200
Mask = 255.255.255.255
Policy = 0
NextHop = 127.0.0.1
IfIndex = 1
Type = 0X3
Proto = 0X3
Age = 0
NextHopAS = 0
Metric1 = 1
Metric2 = -1
Metric3 = -1
Metric4 = -1
Metric5 = -1
Есть идеи, почему CreateIpForwardEntry () не согласится принять вышеуказанные параметры?
Советы, идеи, идеи будут с благодарностью.
Спасибо.