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


OID_WAN_CO_GET_INFO

OID_WAN_CO_GET_INFO OID запрашивает мини-драйвер для возврата сведений, которые применяются ко всем виртуальным подключениям (виртуальным машинам) на сетевом адаптере. Эти сведения возвращаются в NDIS_WAN_CO_INFO структуре, определенной следующим образом.

    typedef struct _NDIS_WAN_CO_INFO {
         OUT ULONG MaxFrameSize;
         OUT ULONG MaxSendWindow;
         OUT ULONG FramingBits;
         OUT ULONG DesiredACCM;
    } NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;

Члены этой структуры содержат следующие сведения:

MaxFrameSize
Указывает максимальный размер кадра для любого чистого пакета, который может отправлять и получать драйвер минипорта. Это значение должно исключить собственные затраты драйвера минипорта и (или) затраты на PPP HDLC. Обычно это значение составляет около 1500.

Однако все драйверы минипорта CoNDIS WAN должны использовать внутреннюю MaxFrameSize размером 32 байта, превышающее значение, которое они возвращают для этого OID. Например, драйвер минипорта CoNDIS WAN, возвращающий 1500 для этого OID, должен внутренне принимать и отправлять до 1532. Такой минипорт-драйвер может легко поддерживать будущие мосты и дополнительные протоколы.

MaxSendWindow
Указывает максимальное количество невыполненных пакетов, которые может обрабатывать драйвер мини-порта CoNDIS WAN в VC. Этот элемент должен иметь значение по крайней мере один.

Драйвер NDISWAN использует значение этого члена в качестве ограничения на количество пакетов, отправляемых в отправке запросов на минипорт-драйвера MiniportCoSendPackets перед отправкой пакетов NDISWAN. Эти пакеты помещаются в очередь, пока драйвер мини-порта не завершит выдающуюся отправку. Минипорт-драйвер может динамически настраивать это значение и на основе каждого VC с помощью элемента SendWindow в структуре WAN_CO_LINKPARAMS, который драйвер минипорта передает NdisMCoIndicateStatus. NDISWAN использует текущее значение SendWindow в качестве ограничения на невыполненные отправки. Если драйвер мини-порта задает SendWindow равным нулю, NDISWAN должен прекратить отправку пакетов для конкретного VC. То есть минипорт-драйвер указывает, что окно отправки завершается, что, по сути, указывает, что он не может принимать пакеты из NDISWAN.

Так как драйвер мини-порта CoNDIS WAN должен содержать пакеты очереди внутри сети, значение MaxSendWindow теоретически max(ULONG). Однако это значение, определяемое драйвером, должно отражать возможности скорости связи или оборудования сетевого адаптера. Например, если сетевой адаптер драйвера минипорта всегда имеет место для по крайней мере четырех пакетов, драйвер минипорта устанавливает MaxSendWindow до четырех, чтобы любой входящий пакет MiniportCoSendPackets можно сразу же поместить на оборудование.

FramingBits
32-разрядное значение, указывающее битовую маску, указывающую типы обрамления мини-драйвера. Минипорт-драйвер может указать сочетание следующих значений с помощью двоичного оператора OR:

RAS_FRAMING
Установите только в том случае, если драйвер минипорта может обнаружить старые обрамления RAS. Для этого флага заданы только устаревшие драйверы, поддерживающие предыдущие настройки RAS.

RAS_COMPRESSION
Установите только в том случае, если драйвер минипорта поддерживает старую схему сжатия RAS.

PPP_FRAMING
Всегда следует задавать. Указывает, что минипорт-драйвер может обнаруживать и поддерживать обрамления PPP для своего среднего типа.

PPP_COMPRESS_ADDRESS_CONTROL
Задайте, если драйвер минипорта поддерживает сжатие PPP-адресов и полей управления.

NDISWAN удаляет поле адреса и элемента управления, если этот параметр LCP согласован. Некоторые средние типы глобальной сети, такие как X.25, не поддерживают этот параметр.

PPP_COMPRESS_PROTOCOL_FIELD
Задайте, если минипорт-драйвер поддерживает сжатие полей протокола PPP.

NDISWAN удаляет один байт из поля протокола, если этот параметр LCP согласован.

PPP_ACCM_SUPPORTED
Если минипорт-драйвер поддерживает асинхронное сопоставление символов элемента управления. Этот бит действителен только для асинхронного носителя, например модемов. Если этот бит задан элемент DesiredACCM должен быть допустимым.

PPP_MULTILINK_FRAMING
Установите значение, если минипорт-драйвер поддерживает обрамления с несколькими ссылками, как указано в IETF RFC 1717.

PPP_SHORT_SEQUENCE_HDR_FORMAT
Установите значение, если минипорт-драйвер поддерживает формат заголовка для обрамления с несколькими ссылками, как указано в IETF RFC 1717.

SLIP_FRAMING
Установите, если минипорт-драйвер может обнаруживать и поддерживать обрамления SLIP (только асинхронные драйверы мини-порта).

SLIP_VJ_COMPRESSION
Задайте, если мини-драйвер может поддерживать сжатие заголовков TCP/IP Van Jacobsen для SLIP. NDISWAN поддерживает SLIP_VJ_COMPRESSION (с 16 слотами). Асинхронный носитель (драйверы последовательного минипорта), поддерживающие кадрирование SLIP, должен задать этот бит.

Асинхронный носитель не должен писать код для поддержки сжатия заголовков VJ. NDISWAN позаботится об этом.

SLIP_VJ_AUTODETECT
Задайте, если мини-драйвер может автоматически обнаруживать сжатие заголовков TCP/IP Van Jacobsen для SLIP. NDISWAN автоматически обнаруживает сжатие заголовков VJ. Асинхронный носитель (драйверы последовательного минипорта) должен задать этот бит, если они поддерживают обрамления SLIP.

TAPI_PROVIDER
Установите значение, если минипорт-драйвер поддерживает OID поставщика услуг TAPI. Если этот бит не задан, вызовы TAPI OID не будут выполняться в драйвер минипорта.

MEDIA_NRZ_ENCODING
Если мини-драйвер поддерживает кодировку NRZ, по умолчанию PPP для некоторых типов носителей, таких как ISDN. Это значение зарезервировано для дальнейшего использования.

MEDIA_NRZI_ENCODING
Если минипорт-драйвер поддерживает кодировку NRZI. Это значение зарезервировано для дальнейшего использования.

MEDIA_NLPID
Задайте значение, если драйвер мини-порта имеет и может задать NLPID в его кадре. Это значение зарезервировано для дальнейшего использования.

RFC_1356_FRAMING
Установите, если минипорт-драйвер поддерживает обрамления IETF RFC 1356 X.25 и ISDN. Это значение зарезервировано для дальнейшего использования.

RFC_1483_FRAMING
Если минипорт-драйвер поддерживает инкапсуляцию уровня адаптации ATM IETF RFC 1483. Это значение зарезервировано для дальнейшего использования.

RFC_1490_FRAMING
Если минипорт-драйвер поддерживает обрамление ретранслятора кадров IETF RFC 1490. Это значение зарезервировано для дальнейшего использования.

NBF_PRESERVE_MAC_ADDRESS
Задайте, если драйвер минипорта поддерживает обрамление IETF, как указано в проекте "Протокол управления кадрами PPP NETBIOS (NBFCP).

SHIVA_FRAMING
Заменены NBF_PRESERVE_MAC_ADDRESS.

PASS_THROUGH_MODE
Задайте, если минипорт-драйвер выполняет собственный обрамления. Если этот флаг задан, NDISWAN передает кадры, непреднамеренные и неизмененные.

Мини-порты должны находиться в режиме обрамления PPP по умолчанию, пока каждый драйвер мини-порта не получит запрос OID_WAN_CO_SET_LINK_INFO. Минипорт-драйвер должен автоматически обнаруживать любые обрамления, которые он утверждает для поддержки.

Например, минипорт-драйверы, поддерживающие старую обрамку RAS, должны автоматически обнаруживать обрамления RAS из фреймирования PPP. Если минипорт-драйвер обнаруживает схему обрамления, отличной от используемой по умолчанию, этот драйвер минипорта должен автоматически переключать обрамления в вновь обнаруженную раму.

Последующий запрос с OID_WAN_CO_GET_LINK_INFO должен указывать на обнаруженную обрамления. Если кадр еще не обнаружен, FramingBits должно быть равно нулю в возвращаемых NDIS_WAN_CO_GET_LINK_INFO данных.

Если драйвер мини-порта глобальной сети вызывается впоследствии с OID_WAN_CO_SET_LINK_INFO, в котором элемент FramingBits равен нулю, драйвер минипорта должен попытаться автоматически обнаружить обрамление при приеме каждого кадра.

DesiredACCM
Схема символов асинхронного элемента управления согласована. Этот элемент относится только к асинхронным типам носителей.

Требования

Версия

Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 в Windows Vista. Поддерживается для драйверов NDIS 5.1 в Windows XP.

Заголовок

Ntddndis.h (include Ndis.h)

См. также

NdisMCoIndicateStatus

OID_WAN_CO_GET_LINK_INFO

OID_WAN_CO_SET_LINK_INFO

WAN_CO_LINKPARAMS