Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de SetupDiGetDeviceInstanceId

1 réponse
Avatar
philippe_k
Bonjour,
Je travaille sur la traduction de code vb.net en vb6 et je suis bloqué par
l'utilisation de l'api SetupDiGetDeviceInstanceId (setupapi.dll).

En vb.net la déclaration était :
Private Declare Auto Function SetupDiGetDeviceInstanceId Lib "setupapi.dll"
( ByVal DeviceInfoSet As IntPtr, ByRef DeviceInfoData As SP_DEVINFO_DATA,
ByVal DeviceInstanceId As StringBuilder, ByVal DeviceInstanceIdSize As
Integer, ByRef RequiredSize As Integer ) As Boolean

Voici la déclaration que j'utilise en vb6:
Private Declare Function SetupDiGetDeviceInstanceId Lib "setupapi.dll" Alias
"SetupDiGetDeviceInstanceIdA" (ByRef DeviceInfoSet As Long, ByRef
DeviceInfoData As SP_DEVINFO_DATA, ByRef DeviceInstanceId As String, ByVal
DeviceInstanceIdSize As Long, ByRef RequiredSize As Long) As Long

A priori ce n'est pas bon car je n'obtiens pas de résultat correct en vb6.
La fonction me retourne toujours une valeur nulle, ce qui n'est pas le cas
en vb.net

Une idée pour me dépanner ?

1 réponse

Avatar
philippe_k
j'ai enfin trouvé !
Il fallait passer le premier paramètre par byval et non pas par byref.