Управление подсистемой подключений
В 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 предоставляет следующие процедуры подсистемы подключения, которые могут использоваться драйверами мини-перенаправления сети.
Подпрограмма | Описание |
---|---|
Эта подпрограмма выделяет IRP для использования подсистемой подключения и связывает MDL с IRP. Эта подпрограмма доступна только в Windows XP. |
|
Эта подпрограмма связывает адрес транспорта с транспортной привязкой. |
|
Эта подпрограмма устанавливает соединение между локальным адресом подключения RDBSS и заданным удаленным адресом. Эта подпрограмма должна вызываться в контексте системного рабочего потока. |
|
Эта подпрограмма устанавливает соединение между локальным адресом подключения RDBSS и заданным удаленным адресом и поддерживает несколько транспортных операций. Указывается набор локальных адресов, и эта подпрограмма пытается подключиться к целевому серверу через все транспорты, связанные с локальными адресами. Одно подключение выбирается в качестве победителя в зависимости от параметров подключения. Эта подпрограмма должна вызываться в контексте системного рабочего потока. |
|
Эта подпрограмма привязывает транспорт RDBSS к указанному имени транспорта. |
|
Эта подпрограмма добавляет виртуальный канал к указанному подключению. |
|
Эта процедура отменяет ранее выданный запрос на подключение. Обратите внимание, что эта подпрограмма в настоящее время не реализована. |
|
Эта процедура освобождает IRP, используемую обработчиком подключений. Эта подпрограмма доступна только в Windows XP. |
|
Эта процедура инициирует отключение виртуального канала. Эта подпрограмма должна вызываться в контексте системного рабочего потока. |
|
Эта подпрограмма возвращает структуру ADAPTER_STATUS для заданного транспорта. |
|
Эта подпрограмма запрашивает сведения, относящиеся к подключению. |
|
Эта подпрограмма возвращает сведения о транспорте о количестве подключений и качестве обслуживания для данного транспорта. |
|
Эта подпрограмма отправляет TSDU по указанному подключению в виртуальном канале. |
|
Эта подпрограмма отправляет TSDU на указанный адрес транспорта. |
|
Эта подпрограмма удаляет адрес транспорта из транспортной привязки. |
|
Эта процедура разрывает заданное соединение. |
|
Эта подпрограмма отменяет привязку к указанному транспорту. |
|
Эта процедура разрывает виртуальное подключение. |
Примечание TDI не будет поддерживаться в версиях Microsoft Windows после Windows Vista. Вместо этого используйте платформу фильтрации Windows или ядро Winsock .