Функция RxPrefixTableLookupName (prefix.h)

RxPrefixTableLookupName ищет имя в таблице префиксов, используемой для каталогизации имен SRV_CALL, NET_ROOT и V_NET_ROOT, и преобразует базовый указатель в структуру, содержащую это имя.

Синтаксис

PVOID RxPrefixTableLookupName(
  [in]  IN PRX_PREFIX_TABLE  ThisTable,
  [in]  IN PUNICODE_STRING   CanonicalName,
  [out] OUT PUNICODE_STRING  RemainingName,
        IN PRX_CONNECTION_ID ConnectionId
);

Параметры

[in] ThisTable

Указатель на структуру RX_PREFIX_TABLE, в которой нужно просмотреть.

[in] CanonicalName

Указатель на имя строки Юникода для поиска.

[out] RemainingName

Указатель на строковое имя в Юникоде части имени, которая не имеет себе значения.

ConnectionId

Необязательный параметр, представляющий указатель на используемый RX_CONNECTION_ID.

Возвращаемое значение

RxPrefixTableLookupName возвращает указатель на узел, который был найден при обнаружении совпадения. Если совпадение не найдено, RxPrefixTableLookupName возвращает указатель NULL .

Комментарии

Эта подпрограмма используется внутри RDBSS в ответ на вызов из MUP для утверждения имени или формирования пути создания для NET_ROOT или V_NET_ROOT структуры. Подпрограмма RxPrefixTableLookupName также может использоваться сетевыми мини-перенаправлениями, если соответствующая блокировка будет получена перед доступом к таблице, а блокировка будет снята после завершения работы. Обычное использование драйвером будет следующим:

  • Получите общую блокировку, вызвав RxpAcquirePrefixTableLockShared.
  • Найдите имя, вызвав RxPrefixTableLookupName.
  • Освободите общую блокировку, вызвав RxpReleasePrefixTableLock.
Обратите внимание, что при обнаружении совпадения количество ссылок на найденном узле увеличивается.

В проверенных сборках RxPrefixTableLookupName вызывает в системе действие ASSERT, если длина строки CanonicalName не больше нуля.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть prefix.h (включая Prefix.h)
IRQL <= APC_LEVEL

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

RxpAcquirePrefixTableLockExclusive

RxpAcquirePrefixTableLockShared

RxpReleasePrefixTableLock