Windows API ByRef lParam As Any vs lParam As Any
Bonjour,
J'utilise énormément de déclarations de l'API Windows, mais je me rends compte que j'ai négligé quelques aspects.
Y-a-t'il notamment une différence entre les déclarations suivantes :
Code:
1 2 3 4 5 6
| 'https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage
Public Declare PtrSafe Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As LongPtr, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long |
et
Code:
1 2 3 4 5
| Public Declare Function PtrSafe SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As LongPtr, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByRef lParam As Any) As Long |
J'imagine que dans la deuxième déclarations, il faille que je précise lParam:=ByVal value lors des appels, mais que ce n'est pas forcément nécessaire avec la première déclaration ?
Pouvez-vous s'il vous plaît m'en dire davantage à ce sujet, car des suspecte des p'tits bugs potentiels dans mes scripts ?
Merci par avance ;)