Bagikan melalui


Fungsi RxPrefixTableLookupName (prefix.h)

RxPrefixTableLookupName mencari nama dalam tabel awalan yang digunakan untuk katalog SRV_CALL, NET_ROOT, dan nama V_NET_ROOT dan mengonversi penunjuk yang mendasarinya ke struktur yang berisi nama.

Sintaks

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

Parameter

[in] ThisTable

Penunjuk ke struktur RX_PREFIX_TABLE untuk terlihat.

[in] CanonicalName

Penunjuk ke nama string Unicode untuk dicari.

[out] RemainingName

Penunjuk ke nama string Unicode dari bagian nama yang tidak cocok.

ConnectionId

Parameter opsional yang mewakili penunjuk ke RX_CONNECTION_ID yang akan digunakan.

Nilai kembali

RxPrefixTableLookupName mengembalikan penunjuk ke simpul yang ditemukan jika ditemukan kecocokan. Jika tidak ada kecocokan yang ditemukan, RxPrefixTableLookupName mengembalikan penunjuk NULL .

Keterangan

Rutinitas ini digunakan secara internal oleh RDBSS sebagai respons terhadap panggilan dari MUP untuk mengklaim nama atau membentuk jalur buat untuk struktur NET_ROOT atau V_NET_ROOT. Rutinitas RxPrefixTableLookupName juga dapat digunakan oleh pengalih mini jaringan selama kunci yang sesuai diperoleh sebelum mengakses tabel, dan kunci dilepaskan saat pekerjaan selesai. Penggunaan normal oleh driver adalah sebagai berikut:

  • Dapatkan kunci bersama dengan memanggil RxpAcquirePrefixTableLockShared.
  • Cari nama dengan memanggil RxPrefixTableLookupName.
  • Lepaskan kunci bersama dengan memanggil RxpReleasePrefixTableLock.
Perhatikan bahwa jika kecocokan ditemukan, jumlah referensi pada simpul yang ditemukan akan bertambah.

Pada build yang dicentang, RxPrefixTableLookupName menyebabkan sistem menjadi ASSERT jika panjang string CanonicalName tidak lebih besar dari nol.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header prefiks.h (termasuk Prefiks.h)
IRQL <= APC_LEVEL

Lihat juga

RxpAcquirePrefixTableLockExclusive

RxpAcquirePrefixTableLockShared

RxpReleasePrefixTableLock