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


Управление подсистемой подключений

В RDBSS подсистема соединений предназначена для сопоставления и эмуляции спецификаций TDI как можно точнее. Это обеспечивает эффективный механизм, который полностью использует базовую реализацию TDI для использования мини-перенаправителями сети.

Хотя подсистема подключений RDBSS выполняет абстрактный TDI, перенаправители сети также могут взаимодействовать напрямую с TDI вместо использования этих подпрограмм подсистемы подключений RDBSS. Существующие процедуры модуля подключения RDBSS, которые предоставляют оболочки для TDI, были разработаны для поддержки сетей Microsoft, поэтому они очень ориентированы на Windows и могут не подходить для других директоров сети. Кроме того, подпрограммы подсистемы подключения в RDBSS должны быть удалены из операционных систем Windows, выпущенных после Windows Server 2003. В будущем каждый перенаправитель сети будет отвечать за разработку процедур подсистемы подключения (для TDI или другого транспорта). Например, перенаправитель WebDAV может взаимодействовать с каким-то процессом отражателя пользовательского режима для отправки http-пакетов (стандартный TCP/IP), а не TDI.

Подпрограммы подсистемы подключения RDBSS имеют дело со следующими сущностями:

  • Транспорты

  • Адреса транспорта

  • Транспортные подключения

  • Виртуальные каналы в подключении

Транспорты являются привязками к различным поставщикам транспортных услуг в любой системе. Адреса транспорта являются локальными конечными точками подключения. Подключения являются транспортными соединениями между конечными точками. Каждое подключение инкапсулирует несколько виртуальных каналов (обычно один).

Следующие важные структуры данных создаются и обрабатываются различными подпрограммами механизма подключения, связанными с RDBSS:

  • RXCE_TRANSPORT--инкапсулирует все параметры для транспорта.

  • RXCE_ADDRESS--инкапсулирует все параметры для адреса транспорта.

  • RXCE_CONNECTION--инкапсулирует все параметры для транспортного подключения.

  • RXCE_VC инкапсулирует все параметры виртуального канала в транспортном подключении.

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

Четыре типа подсистемы соединений, описанные выше, помечены в начале каждой структуры данных специальной сигнатурой RXCE_SIGNATURE, которая широко используется RDBSS для проверки.

RDBSS предоставляет следующие процедуры подсистемы подключения, которые могут использоваться драйверами мини-перенаправления сети.

Подпрограмма Описание

RxCeAllocateIrpWithMDL

Эта подпрограмма выделяет IRP для использования подсистемой подключения и связывает MDL с IRP.

Эта подпрограмма доступна только в Windows XP.

RxCeBuildAddress

Эта подпрограмма связывает адрес транспорта с транспортной привязкой.

RxCeBuildConnection

Эта подпрограмма устанавливает соединение между локальным адресом подключения RDBSS и заданным удаленным адресом. Эта подпрограмма должна вызываться в контексте системного рабочего потока.

RxCeBuildConnectionOverMultipleTransports

Эта подпрограмма устанавливает соединение между локальным адресом подключения RDBSS и заданным удаленным адресом и поддерживает несколько транспортных операций. Указывается набор локальных адресов, и эта подпрограмма пытается подключиться к целевому серверу через все транспорты, связанные с локальными адресами. Одно подключение выбирается в качестве победителя в зависимости от параметров подключения. Эта подпрограмма должна вызываться в контексте системного рабочего потока.

RxCeBuildTransport

Эта подпрограмма привязывает транспорт RDBSS к указанному имени транспорта.

RxCeBuildVC

Эта подпрограмма добавляет виртуальный канал к указанному подключению.

RxCeCancelConnectRequest

Эта процедура отменяет ранее выданный запрос на подключение.

Обратите внимание, что эта подпрограмма в настоящее время не реализована.

RxCeFreeIrp

Эта процедура освобождает IRP, используемую обработчиком подключений.

Эта подпрограмма доступна только в Windows XP.

RxCeInitiateVCDisconnect

Эта процедура инициирует отключение виртуального канала. Эта подпрограмма должна вызываться в контексте системного рабочего потока.

RxCeQueryAdapterStatus

Эта подпрограмма возвращает структуру ADAPTER_STATUS для заданного транспорта.

RxCeQueryInformation

Эта подпрограмма запрашивает сведения, относящиеся к подключению.

RxCeQueryTransportInformation

Эта подпрограмма возвращает сведения о транспорте о количестве подключений и качестве обслуживания для данного транспорта.

RxCeSend

Эта подпрограмма отправляет TSDU по указанному подключению в виртуальном канале.

RxCeSendDatagram

Эта подпрограмма отправляет TSDU на указанный адрес транспорта.

RxCeTearDownAddress

Эта подпрограмма удаляет адрес транспорта из транспортной привязки.

RxCeTearDownConnection

Эта процедура разрывает заданное соединение.

RxCeTearDownTransport

Эта подпрограмма отменяет привязку к указанному транспорту.

RxCeTearDownVC

Эта процедура разрывает виртуальное подключение.

Примечание TDI не будет поддерживаться в версиях Microsoft Windows после Windows Vista. Вместо этого используйте платформу фильтрации Windows или ядро Winsock .