DRIVER INSTALLATION THROUGH A *.INF FILE [IN VB.NET]

BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 - 5 oct. 2010 à 11:44
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011 - 11 oct. 2010 à 19:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52352-driver-installation-through-a-inf-file-in-vb-net

masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
11 oct. 2010 à 19:19
Pas mal comme projet. Perso je ne connais rien en VB et je suis arrivé ici car le sujet m'interpelle au niveau professionel:
Est-it possible d'utiliser ce code, en le modifiant bien sûr, pour intégrer un pilote dans un windows autre que celui qui est en marche?
Je m'explique. Prenons par exemple une machine qui tourne sous XP. La carte mère lâche et malheureusement, la seule carte de rechange que je peux trouver n'intègre pas le même jeux de chipsets. D'où plantage au démarage (blue screen of the death) et obligation de passer par la case réparation windows. Or, cette case réparation qui sous XP prenait environs 30 à 45 mn, n'est tout simplement plus disponible sous vista et seven. Du coup, pour certaines machines, il n'y a pas d'autre choix que de tout reformater... (Il en existe une autre (AIK) mais là c'est du petit chinois).
Donc si je pouvais avoir sous la main un utilitaire qui me permette de gérer les pilotes d'une machine 'offline', ça serait vraiment bueno
yaroved Messages postés 2 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 11 octobre 2010
11 oct. 2010 à 01:13
There was an error at the interface announcement. The correct version:

<ComImport(), _
ComVisible(True), _
Guid("C0E8AE9F-306E-11D1-AACF-00805FC1270E"), _
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface INetCfgLock
Inherits IUnknown
Function AcquireWriteLock(<MarshalAs(UnmanagedType.I4)> ByVal cmsTimeout As System.Int32, <MarshalAs(UnmanagedType.LPWStr)> ByVal pszwClientDescription As String, <MarshalAs(UnmanagedType.LPWStr)> ByVal ppszwClientDescription As String) As Integer
Function ReleaseWriteLock() As Integer
Function IsWriteLocked(<MarshalAs(UnmanagedType.LPWStr)> ByVal ppszwClientDescription As String) As Integer
End Interface

<ComImport(), _
ComVisible(False), _
Guid("00000000-0000-0000-C000-000000000046"), _
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IUnknown
Function QueryInterface(ByRef pguidClass As System.Guid, <MarshalAs(UnmanagedType.IUnknown)> ByRef ppvObject As Object) As Integer
Function AddRef() As Integer
Function Release() As Integer
End Interface

+++

Marshal.QueryInterface( _
Marshal.GetIUnknownForObject(NetCfg) _
, IID_INetCfgLock, IPtr)
'
NetCfgLock = Marshal.GetObjectForIUnknown(IPtr)
'
'-----------------
'lock`ing network:
'-----------------
NetCfgLock.AcquireWriteLock(UInt64.Parse("15000"), "DRINST", Nothing)
yaroved Messages postés 2 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 11 octobre 2010
6 oct. 2010 à 16:12
Je ne sais pas. En ce moment je suis intéressé par la version sous XP.
Aucun autre réflexion.
J'entendais aussi que ? ?????? Win7 x86 question est déjà décidée, mais sous x64 pas encore...
;)

-------------
Respectueusement, ??†???????™
[0QH1-512-?40201]
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
5 oct. 2010 à 11:44
Question bete. sous Seven 64 . Si les drivers ne sont pas signés numériquement , comment ca vas se passer ?
Rejoignez-nous