PFN_WSK_GET_NAME_INFO fungsi panggilan balik (wsk.h)
Fungsi WskGetNameInfo menyediakan terjemahan independen protokol dari alamat transportasi ke nama host.
Sintaks
PFN_WSK_GET_NAME_INFO PfnWskGetNameInfo;
NTSTATUS PfnWskGetNameInfo(
[in] PWSK_CLIENT Client,
[in] PSOCKADDR SockAddr,
[in] ULONG SockAddrLength,
[out, optional] PUNICODE_STRING NodeName,
[out, optional] PUNICODE_STRING ServiceName,
[in] ULONG Flags,
[in, optional] PEPROCESS OwningProcess,
[in, optional] PETHREAD OwningThread,
[in, out] PIRP Irp
)
{...}
Parameter
[in] Client
[in] Penunjuk ke struktur WSK_CLIENT yang dikembalikan melalui parameter WskProviderNpi dari Fungsi WskCaptureProviderNPI .
[in] SockAddr
[in] Penunjuk ke struktur SOCKADDR yang berisi alamat IP dan nomor port soket.
[in] SockAddrLength
[in] Menentukan panjang, dalam byte, dari buffer yang diacu oleh parameter SockAddr . Nilai SockAddrLength tidak boleh melebihi ukuran struktur SOCKADDR_STORAGE .
[out, optional] NodeName
[keluar] Penunjuk opsional ke struktur UNICODE_STRING yang berisi string Unicode yang mewakili nama host (node). Jika berhasil, nama host Unicode ditulis sebagai Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) secara default. Pemanggil harus menyediakan buffer UNICODE_STRING cukup besar untuk menahan nama host Unicode, yang mencakup karakter NULL yang mengakhiri. Jika parameter NodeBuffer adalah NULL, pemanggil tidak ingin menerima string nama host. NodeBuffer dan ServiceBuffer tidak boleh keduanya null.
[out, optional] ServiceName
[keluar] Penunjuk opsional ke struktur UNICODE_STRING yang berisi string Unicode yang mewakili nama layanan yang terkait dengan nomor port. Pemanggil harus menyediakan buffer UNICODE_STRING cukup besar untuk menahan nama layanan Unicode, yang mencakup karakter NULL yang mengakhiri. Jika parameter NodeBuffer adalah NULL, pemanggil tidak ingin menerima string nama layanan. NodeBuffer dan ServiceBuffer tidak boleh keduanya null.
[in] Flags
[in] Nilai ULONG yang digunakan untuk menyesuaikan pemrosesan fungsi ini.
Bendera berikut tersedia:
NI_DGRAM
Menunjukkan bahwa layanan tersebut adalah layanan datagram. Bendera ini diperlukan untuk beberapa layanan yang menyediakan nomor port yang berbeda untuk layanan UDP dan TCP.
NI_NAMEREQD
Menunjukkan bahwa nama host yang tidak dapat diselesaikan oleh DNS menghasilkan kesalahan.
NI_NOFQDN
Menghasilkan host lokal yang hanya memiliki Relative Distinguished Name (RDN) yang dikembalikan dalam parameter NodeName .
NI_NUMERICHOST
Menunjukkan bahwa fungsi mengembalikan bentuk numerik dari nama host alih-alih namanya, pencarian DNS terbalik. Bentuk numerik nama host juga dikembalikan jika nama host tidak dapat diselesaikan oleh DNS.
NI_NUMERICSERV
Menunjukkan bahwa fungsi mengembalikan nomor port layanan alih-alih namanya. Selain itu, jika nama host tidak ditemukan untuk alamat IP (127.0.0.2, misalnya), nama host dikembalikan sebagai alamat IP.
[in, optional] OwningProcess
[in] Penunjuk opsional ke proses tempat fungsi mengambil konteks keamanan. Konteks keamanan ini menunjukkan konteks akun pengguna di mana fungsi memproses permintaan resolusi nama.
Jika parameter ini adalah NULL, fungsi memproses permintaan resolusi nama dalam konteks akun lokal yang telah ditentukan sebelumnya dengan hak istimewa minimal.
Jika parameter ini bukan NULL dan token peniruan berlaku untuk utas panggilan, fungsi ini gagal dan mengembalikan STATUS_INVALID_PARAMETER.
[in, optional] OwningThread
[in] Penunjuk opsional ke utas tempat fungsi mengambil konteks keamanan. Parameter ini bisa non-NULL hanya jika OwningProcess bukan NULL. Jika tidak, fungsi ini gagal dan mengembalikan STATUS_INVALID_PARAMETER.
Jika parameter ini bukan NULL dan token peniruan berlaku untuk utas panggilan, fungsi ini gagal dan mengembalikan STATUS_INVALID_PARAMETER.
[in, out] Irp
[masuk/keluar] Pointer ke paket permintaan I/O (IRP) untuk digunakan untuk menyelesaikan permintaan secara asinkron. Setelah menyelesaikan permintaan, Irp ->Iostatus.Information akan menyimpan kode status yang dikembalikan.
Nilai kembali
WskGetNameInfo mengembalikan salah satu kode NTSTATUS berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Parameter yang tidak valid ditentukan. |
|
Nama host tidak dapat diatasi. |
|
Fungsi berhasil diselesaikan. Jika aplikasi WSK menentukan pointer ke IRP di Parameter Irp , IRP akan diselesaikan dengan status berhasil. |
|
Subsistem WSK tidak dapat segera menyelesaikan fungsi. Subsistem WSK akan menyelesaikan IRP setelah menyelesaikan operasi kontrol. Status operasi kontrol akan dikembalikan di bidang IoStatus.Status dari IRP. |
|
Terjadi kesalahan. IRP akan diselesaikan dengan status kegagalan. |
Keterangan
Proses di mana parameter OwningProcess menunjuk, atau utas tempat proses OwningThread menunjuk, menunjukkan konteks keamanan untuk fungsi ini. Akun pengguna yang ditunjukkan oleh konteks keamanan menunjukkan konteks untuk permintaan resolusi nama fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows 7 dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Universal |
Header | wsk.h (termasuk Wsk.h) |
IRQL | PASSIVE_LEVEL |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk