Функция 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 вызывает утверждение системы, если длина строки Каноническое имя не превышает нуля.

Требования

Требование Ценность
целевая платформа Настольный
заголовка prefix.h (include Prefix.h)
IRQL <= APC_LEVEL

См. также

RxpAcquirePrefixTableLockExclusive

RxpAcquirePrefixTableLockShared

RxpReleasePrefixTableLock