Sovente quando eseguo l' analisi del codice rilevo errori di questo tipo:
"CA2006 : Microsoft.Reliability : Controllare l'utilizzo di 'FrmMain.OldHwnd', un'istanza 'IntPtr', per determinare se deve essere sostituita con SafeHandle o CriticalHandle."
Ho provato a sostituire:
Dim OldHwnd as IntPtr
con
Dim OldHwnd As Microsoft.Win32.SafeHandles.CriticalHandleMinusOne IsInvalid
La dichiarazione viene accettata.... peccato che poi tutte le API mi danno errore, perché si aspettano un IntPtr.
Allora ho provato a sostituire OldHwnd con
CType(OldHwnd, IntPtr), ottenendo l' errore: Impossibile convertire....
MORALE: Ok, devo sostituire un IntPtr con un SafeHandle... ma poi che me ne faccio del SafeHandle se è ingestibile dalle API??
![]()