Fungsi GetOwnerModuleFromTcpEntry (iphlpapi.h)

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

Sintaks

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

Parameter

[in] pTcpEntry

Penunjuk ke struktur MIB_TCPROW_OWNER_MODULE yang berisi entri titik akhir TCP IPv4 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 ditentukan dalam file header Iprtrmib.h .

Parameter ini harus diatur ke TCPIP_OWNER_MODULE_INFO_BASIC.

[out] pBuffer

Penunjuk 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, dalam byte, dari struktur yang dikembalikan dalam Buffer. Jika nilai ini diatur terlalu kecil, ERROR_INSUFFICIENT_BUFFER dikembalikan oleh fungsi ini, dan bidang ini akan berisi ukuran buffer yang benar. Ukuran yang diperlukan adalah ukuran struktur yang sesuai ditambah jumlah byte tambahan yang sama dengan panjang data yang ditunjukkan dalam struktur (misalnya, string nama dan jalur).

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 pdwSizeadalah 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 struktur MIB_TCPROW_OWNER_MODULE yang diarahkan oleh parameter pTcpEntry adalah nol atau tidak dapat ditemukan.
ERROR_PARTIAL_COPY
Hanya sebagian dari permintaan yang selesai.

Keterangan

Parameter Buffer tidak hanya berisi struktur dengan penunjuk ke data tertentu, misalnya, penunjuk ke string yang dihentikan nol yang berisi nama dan jalur modul pemilik, tetapi data aktual itu sendiri; itu adalah string nama dan jalur. Oleh karena itu, saat menghitung ukuran buffer, pastikan Anda memiliki cukup ruang untuk struktur serta data yang menjadi tujuan 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) untuk akses ke anggota pModuleName dan pModulePath yang dilindungi untuk 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_TCPROW_OWNER_MODULE

TCPIP_OWNER_MODULE_BASIC_INFO