GetOwnerModuleFromUdpEntry-Funktion (iphlpapi.h)
Die GetOwnerModuleFromUdpEntry-Funktion ruft Daten zu dem Modul ab, das die Kontextbindung für einen bestimmten IPv4 UDP-Endpunkt in einer MIB-Tabellenzeile ausgestellt hat.
Syntax
IPHLPAPI_DLL_LINKAGE DWORD GetOwnerModuleFromUdpEntry(
[in] PMIB_UDPROW_OWNER_MODULE pUdpEntry,
[in] TCPIP_OWNER_MODULE_INFO_CLASS Class,
[out] PVOID pBuffer,
[in, out] PDWORD pdwSize
);
Parameter
[in] pUdpEntry
Ein Zeiger auf eine MIB_UDPROW_OWNER_MODULE-Struktur , die den IPv4 UDP-Endpunkteintrag enthält, der zum Abrufen des Besitzermoduls verwendet wird.
[in] Class
Ein TCPIP_OWNER_MODULE_INFO_CLASS Enumerationswert, der den Datentyp angibt, der in Bezug auf das Besitzermodul abgerufen werden soll.
[out] pBuffer
Der Puffer, der eine TCPIP_OWNER_MODULE_BASIC_INFO-Struktur mit den Besitzermoduldaten enthält. Der Typ der in diesem Puffer zurückgegebenen Daten wird durch den Wert des Class-Parameters angegeben.
Die folgenden Strukturen werden für die Daten in Buffer verwendet, wenn Class auf den entsprechenden Wert festgelegt ist.
Klassenenumerationswert | Pufferdatenformat |
---|---|
TCPIP_OWNER_MODULE_BASIC_INFO | TCPIP_OWNER_MODULE_BASIC_INFO |
[in, out] pdwSize
Die geschätzte Größe der in Buffer zurückgegebenen Struktur in Bytes. Wenn dieser Wert zu klein festgelegt ist, wird ERROR_INSUFFICIENT_BUFFER von dieser Funktion zurückgegeben, und dieses Feld enthält die richtige Strukturgröße.
Rückgabewert
Wenn der Aufruf erfolgreich ist, wird der Wert NO_ERROR zurückgegeben. Andernfalls wird der folgende Fehler zurückgegeben.
Rückgabecode | Beschreibung |
---|---|
|
Für die Tabelle wurde nicht genügend Speicherplatz zugewiesen. Die Größe der Tabelle wird im pdwSize-Parameter zurückgegeben und muss in einem nachfolgenden Aufruf dieser Funktion verwendet werden, um die Tabelle erfolgreich abzurufen. |
Hinweise
Der Buffer-Parameter enthält nicht nur eine Struktur mit Zeigern auf bestimmte Daten, z. B. Zeiger auf die Zeichenfolgen, die den Namen und Pfad des Besitzermoduls enthalten, sondern auch die tatsächlichen Daten selbst. dies ist der Name und die Pfadzeichenfolgen. Stellen Sie daher beim Berechnen der Puffergröße sicher, dass genügend Platz für die Struktur und die Daten vorhanden ist, auf die die Elemente der Struktur verweisen.
Die Auflösung von UDP-Tabelleneinträgen in Besitzermodule ist eine bewährte Methode. In einigen Fällen kann der in der TCPIP_OWNER_MODULE_BASIC_INFO-Struktur zurückgegebene Besitzermodulname ein Prozessname sein, z. B. "svchost.exe", ein Dienstname wie "RPC" oder ein Komponentenname wie "timer.dll".
Bei Computern, die unter Windows Vista oder höher ausgeführt werden, wird der Zugriff auf die pModuleName - und pModulePath-Member der TCPIP_OWNER_MODULE_BASIC_INFO-Struktur durch die Benutzerkontensteuerung (UAC) eingeschränkt. Wenn eine Anwendung, die diese Funktion aufruft, von einem Benutzer ausgeführt wird, der als Mitglied der Administratorgruppe angemeldet ist, wird dieser Aufruf erfolgreich ausgeführt, aber der Zugriff auf diese Member gibt eine leere Zeichenfolge zurück, es sei denn, die Anwendung wurde in der Manifestdatei mit einem requestedExecutionLevel gekennzeichnet, der auf requireAdministrator festgelegt ist. Wenn in der Anwendung unter Windows Vista oder höher diese Manifestdatei fehlt, muss ein Benutzer, der sich als Mitglied der Gruppe "Administratoren" angemeldet hat, das nicht der integrierte Administrator ist, die Anwendung dann in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausführen, damit der Zugriff auf die geschützten pModuleName - und pModulePath-Member zulässig ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista, Windows XP mit SP2 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008, Windows Server 2003 mit SP1 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | iphlpapi.h |
Bibliothek | Iphlpapi.lib |
DLL | Iphlpapi.dll |