Fungsi GetOwnerModuleFromTcp6Entry (iphlpapi.h)

Fungsi GetOwnerModuleFromTcp6Entry mengambil data tentang modul yang mengeluarkan ikatan konteks untuk titik akhir TCP IPv6 tertentu dalam baris tabel MIB.

Sintaks

IPHLPAPI_DLL_LINKAGE DWORD GetOwnerModuleFromTcp6Entry(
  [in]      PMIB_TCP6ROW_OWNER_MODULE     pTcpEntry,
  [in]      TCPIP_OWNER_MODULE_INFO_CLASS Class,
  [out]     PVOID                         pBuffer,
  [in, out] PDWORD                        pdwSize
);

Parameter

[in] pTcpEntry

Penunjuk ke struktur MIB_TCP6ROW_OWNER_MODULE yang berisi entri titik akhir TCP IPv6 yang digunakan untuk mendapatkan modul pemilik.

[in] Class

Nilai enumerasi TCPIP_OWNER_MODULE_INFO_CLASS yang menunjukkan jenis data yang akan diperoleh mengenai modul pemilik. Enumerasi TCPIP_OWNER_MODULE_INFO_CLASS didefinisikan dalam file header Iprtrmib.h .

Parameter ini harus diatur ke TCPIP_OWNER_MODULE_INFO_BASIC.

[out] pBuffer

Penunjuk ke buffer yang berisi struktur TCPIP_OWNER_MODULE_BASIC_INFO dengan data modul pemilik. Jenis data yang dikembalikan dalam buffer ini ditunjukkan oleh nilai parameter Kelas .

Struktur berikut digunakan untuk data di Buffer saat Kelas diatur ke nilai yang sesuai.

Nilai enumerasi kelas Format data buffer
TCPIP_OWNER_MODULE_BASIC_INFO TCPIP_OWNER_MODULE_BASIC_INFO

[in, out] pdwSize

Perkiraan ukuran struktur yang dikembalikan dalam Buffer, dalam byte. Jika nilai ini diatur terlalu kecil, ERROR_INSUFFICIENT_BUFFER dikembalikan oleh fungsi ini, dan bidang ini akan berisi ukuran struktur yang benar.

Menampilkan nilai

Jika panggilan fungsi berhasil, nilai NO_ERROR dikembalikan.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
ERROR_INSUFFICIENT_BUFFER
Ruang tidak cukup dialokasikan untuk tabel. Ukuran tabel dikembalikan dalam parameter pdwSize , dan harus digunakan dalam panggilan berikutnya ke fungsi ini agar berhasil mengambil tabel.
ERROR_INVALID_PARAMETER
Parameter salah. Nilai ini dikembalikan jika salah satu parameter pTcpEntry atau pdwSize adalah NULL. Nilai ini juga dikembalikan jika parameter Kelas tidak sama dengan TCPIP_OWNER_MODULE_INFO_BASIC.
ERROR_NOT_ENOUGH_MEMORY
Tidak cukup memori yang tersedia untuk menyelesaikan operasi.
ERROR_NOT_FOUND
Elemen tidak ditemukan. Nilai ini dikembalikan jika anggota dwOwningPid dari MIB_TCP6ROW_OWNER_MODULE yang ditunjukkan oleh parameter pTcpEntry adalah nol atau tidak dapat ditemukan.
ERROR_PARTIAL_COPY
Hanya sebagian dari permintaan yang diselesaikan.

Keterangan

Parameter Buffer tidak hanya berisi struktur dengan pointer ke data tertentu, misalnya, pointer ke string yang dihentikan nol yang berisi nama dan jalur modul pemilik, tetapi data aktual itu sendiri; yaitu string nama dan jalur. Oleh karena itu, saat menghitung ukuran buffer, pastikan Anda memiliki cukup ruang untuk struktur serta data yang ditunjukkan oleh anggota struktur.

Resolusi entri tabel TCP ke modul pemilik adalah praktik terbaik. Dalam beberapa kasus, nama modul pemilik yang dikembalikan dalam struktur TCPIP_OWNER_MODULE_BASIC_INFO dapat menjadi nama proses (seperti "svchost.exe"), nama layanan (seperti "RPC"), atau nama komponen (seperti "timer.dll").

Untuk komputer yang berjalan di Windows Vista atau yang lebih baru, anggota pModuleName dan pModulePathdari TCPIP_OWNER_MODULE_BASIC_INFO yang diambil oleh fungsi GetOwnerModuleFromTcpEntry dapat menunjuk ke string kosong untuk beberapa koneksi TCP. Aplikasi yang memulai koneksi TCP yang terletak di folder sistem Windows (C:\Windows\System32, secara default) dianggap dilindungi. Jika fungsi GetOwnerModuleFromTcpEntry dipanggil oleh pengguna yang bukan anggota grup Administrator, panggilan fungsi akan berhasil tetapi anggota pModuleName dan pModulePath akan menunjuk ke memori yang berisi string kosong untuk koneksi TCP yang dimulai oleh aplikasi yang dilindungi.

Untuk komputer yang berjalan pada Windows Vista atau yang lebih baru, mengakses anggota pModuleName dan pModulePath dari struktur TCPIP_OWNER_MODULE_BASIC_INFO dibatasi oleh kontrol akun pengguna (UAC). Jika aplikasi yang memanggil fungsi ini dijalankan oleh pengguna yang masuk sebagai anggota grup Administrator selain Administrator bawaan, panggilan ini akan berhasil tetapi akses ke anggota ini mengembalikan string kosong kecuali aplikasi telah ditandai dalam file manifes dengan requestedExecutionLevel diatur ke requireAdministrator. Jika aplikasi di Windows Vista atau yang lebih baru tidak memiliki file manifes ini, pengguna yang masuk sebagai anggota grup Administrator selain Administrator bawaan kemudian harus menjalankan aplikasi dalam shell yang ditingkatkan sebagai Administrator bawaan (administrator RunAs) agar akses ke anggota pModuleName dan pModulePath yang dilindungi diizinkan.

Persyaratan

   
Klien minimum yang didukung Windows Vista, Windows XP dengan SP2 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008, Windows Server 2003 dengan SP1 [hanya aplikasi desktop]
Target Platform Windows
Header iphlpapi.h
Pustaka Iphlpapi.lib
DLL Iphlpapi.dll

Lihat juga

MIB_TCP6ROW_OWNER_MODULE

TCPIP_OWNER_MODULE_INFO_CLASS