UDF > WinAPIEx > Diagnostic >


_WinAPI_EnumDllProc

Énumère une des fonctions exportées de la bibliothèque de liens dynamiques (DLL) spécifiée

#include <WinAPIDiag.au3>
_WinAPI_EnumDllProc ( $sFilePath [, $sMask = '' [, $iFlags = 0]] )

Paramètres

$sFilePath Le chemin de la bibliothèque.
Bien que cette fonction cherche un chemin de fichier quand il spécifié en tant que chemin relatif ou un nom sans chemin, il sera préférable de spécifier un chemin d'accès complet à la bibliothèque pour un résultat sans équivoque.
$sMask [optionnel] Une chaîne de caractère générique qui indique les noms des fonctions à énumérer.
Cette chaîne peut éventuellement contenir des jokers, "*" et "?". Si ce paramètre est la chaîne vide ou est omis (par défaut), toutes les fonctions exportées seront énumérées.
$iFlags [optionnel] Les flags optionnels. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes:
    $SYMOPT_CASE_INSENSITIVE
    $SYMOPT_UNDNAME

Valeur de retour

Succès: Retourne le tableau 2D contenant les informations suivantes, @extended contiendra l'une des constantes $IMAGE_FILE_MACHINE_*.
    [0][0] - Nombre de lignes dans le tableau (n)
    [0][1] - Inutilisé
    [n][0] - L'adresse de la fonction par rapport à l'adresse de base de la bibliothèque (UINT64).
    [n][1] - Le nom de la fonction.
Échec: Définit @error <> 0.

Remarques

Cette fonction fonctionne avec les DLL 32 bits et 64 bits, quel que soit le système (32 ou 64 bits), même si les exécutables 64 bits ne peuvent pas charger les DLL 32 bits et vice-versa.

Appelez _WinAPI_GetExtended() pour obtenir le chemin complet de la DLL trouvé qui a été chargée pour l'énumération des fonctions.

Remarque, utilisez le chemin complet pour être sûr que _WinAPI_EnumDllProc() charge la DLL qui vous intéresse.
En outre, cette fonction n'utilise pas la redirection système de fichier.

Cette fonction nécessite la version 5.1 de dbghelp.dll ou une version ultérieure.

En relation

_WinAPI_GetExtended

Voir aussi

Consultez SymEnumSymbols dans la librairie MSDN.

Exemple

#include <APIDiagConstants.au3>
#include <Array.au3>
#include <WinAPIDiag.au3>
#include <WinAPIMisc.au3>

Local $aData = _WinAPI_EnumDllProc('ntdll.dll', 'Rtl*', $SYMOPT_CASE_INSENSITIVE)

If IsArray($aData) Then
    For $i = 1 To $aData[0][0]
        $aData[$i][0] = '0x'& Hex($aData[$i][0])
    Next
EndIf

_ArrayDisplay($aData, _WinAPI_GetExtended())