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 포인터를 반환합니다.
설명
이 루틴은 이름을 요청하거나 NET_ROOT 또는 V_NET_ROOT 구조에 대한 만들기 경로를 형성하기 위해 MUP의 호출에 대한 응답으로 RDBSS에서 내부적으로 사용됩니다. RxPrefixTableLookupName 루틴은 테이블에 액세스하기 전에 적절한 잠금을 획득하고 작업이 완료되면 잠금이 해제되는 한 네트워크 미니 리디렉터에서도 사용할 수 있습니다. 드라이버의 일반적인 사용은 다음과 같습니다.
- RxpAcquirePrefixTableLockShared를 호출하여 공유 잠금을 획득합니다.
- RxPrefixTableLookupName을 호출하여 이름을 조회합니다.
- RxpReleasePrefixTableLock을 호출하여 공유 잠금을 해제합니다.
확인된 빌드에서 RxPrefixTableLookupName 은 CanonicalName 문자열의 길이가 0보다 크지 않으면 시스템이 ASSERT로 설정됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | prefix.h(Prefix.h 포함) |
IRQL | <= APC_LEVEL |
추가 정보
RxpAcquirePrefixTableLockExclusive