INTRO:Voici donc une réponse très détaillée qui permettra aux plus novices de résoudre le problème.
Que les plus férus m'excusent donc s'ils trouvent ça un peu lourd, mais j'ai essayé de penser à tous les obstacles que les néophytes peuvent rencontrer.
Il s'agit d'une simple modification du registre, mais il est courant de mettre le novice en garde contre les dégats parfois irrémédiables pour leur
installation de Windows qui peuvent résulter d'une erreur de manip. Je les laisse donc quand même chercher par eux-mêmes le minimum, à savoir comment on
lance l'éditeur de registre. Un cadeau quand même en guise de mise en garde, dans l'éditeur de registre, il n'y a pas de fonctions Fichier/Enregistrer et
surtout Fichier/Quitter dont on pourrait se servir quand on a l'impression d'avoir fait une erreur, car toute modification est enregistrée immédiatement. En
cas d'erreur, il faut la corriger tout de suite.
PRELUDE:Merci à moi pour avoir cherché ça: "notification remove usb icon fucking"
Merci à moi pour avoir trouvé ça:
http://forums.techarena.in/showthread.php?t=662383
http://www.tech-archive.net/Archive/WinXP/microsoft.public.windowsxp.hardware/2007-01/msg00757.html
Merci à Rawling pour avoir exposé sa question très étayée, et à Uwe Sieber pour y avoir répondu de façon
précise et transposable à d'autres (notre) circonstances.
et ça (en guise d'explication sommaire sur cet empilage USB sur PCI nommé Bristol ):
http://www.mythtv.org/wiki/Hauppauge_WinTV_Nova-T_500_PCI
DÉCORS:On peut donc déduire de la page de TechArena et de MS http://msdn2.microsoft.com/en-us/library/ms792967.aspx
que la valeur de clé de registre "Capabilities" est la somme des valeurs des "flags" CM_DEVCAP_xxxxx listés dans le gestionnaire de périphériques, ligne
"Capacités" de l'onglet détails des propriétés du périphérique.
CM_DEVCAP_Xxx flag ................. Corresponding DEVICE_CAPABILITIES structure member ...... Valeur (en hexadécimal!!!)
CM_DEVCAP_LOCKSUPPORTED ......... LockSupported .................................................................. 1 (déduite, merci moi)
CM_DEVCAP_EJECTSUPPORTED ........ EjectSupported .................................................................. 2 (déduite)
CM_DEVCAP_REMOVABLE ................. Removable ......................................................................... 4 (merci Uwe)
CM_DEVCAP_DOCKDEVICE ............... DockDevice ......................................................................... 8 (déduite)
CM_DEVCAP_UNIQUEID .................... UniqueID .......................................................................... 10 (déduite)
CM_DEVCAP_SILENTINSTALL ............. SilentInstall ..................................................................... 20 (déduite)
CM_DEVCAP_RAWDEVICEOK ............. RawDeviceOK .................................................................. 40 (déduite)
CM_DEVCAP_SURPRISEREMOVALOK .. SurpriseRemovalOK ......................................................... 80 (merci Uwe)
CM_DEVCAP_HARDWAREDISABLED ... HardwareDisabled ......................................................... 100 (déduite)
CM_DEVCAP_NONDYNAMIC ............... NonDynamic ................................................................... 200 (déduite)
Les périphériques listé comme éjectables sont ceux qui ont CM_DEVCAP_REMOVABLE défini ET N'ONT PAS CM_DEVCAP_SURPRISEREMOVALOK (ceux qui ont ce dernier attribut défini ne sont pas listés car on peut les enlever sans aucun risque de perte de données ou de crash, p.e un clavier numérique USB d'extension pour PC portable).
Dans notre cas la carte PCI Hauppauge au driver débile a son attribut "Removable" défini, donc il faut soustraire 4 (et non pas ajouter 80h à la valeur de "Capabilities" stockée dans le registre de Windows) pour la faire disparaître de la liste "Retirer le périphérique en toute sécurité".
Dans le cas précis de ma Nova-T-500, la valeur de la clé HKLM\SYSTEM\CurrentControlSet\Enum\USB\Vid_2040&Pid_9951&MI01\7&3ac9a0dc&2&0001 (identifiée avec le gestionnaire de périphériques, voir plus haut) doit donc passer de 4 d'origine) à 0 .... c'est tout con.
Malheureusement, à chaque reboot du PC, le driver est rechargé et repasse la clé à la valeur débile: les septiques n'ont qu'à essayer... il faut donner à "Tout le monde" le contrôle total sur la branche pour pouvoir modifier la valeur de la clé, puis repasser "Tout le monde" en lecture seule (clic-droit, Autorisations, décocher "Tout le monde").
LA SOLUTION:Naviguer jusqu'à la branche 7&3ac9... dans le registre, Clic-droit -> Exporter sur le bureau en Nova-DT-IR_RemoveUSBDeviceEjectSillyIcon.reg
Fermer le registre, clic droit sur le fichier->modifier (avec le bloc-notes), TOUT supprimer SAUF:
le titre: Windows Registry....
le chemin [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_2040&Pid_9951&MI_01\7&3ac9a0dc&2&0001]
la ligne "Capabilities"=dword:00000004 à modifier en "Capabilities"=dword:00000000
Fermer enregistrer.
Créer un nouveau document Texte sur le bureau Nova-DT-IR_RemoveUSBDeviceEjectSillyIcon.txt et le renommer en Nova-DT-IR_RemoveUSBDeviceEjectSillyIcon.bat. Un clic droit dessus->modifier (ou Ouvrir avec: "Bloc notes" si ça coince)
taper dedans: regedit /s Nova-DT-IR_RemoveUSBDeviceEjectSillyIcon.reg
fermer enregistrer laisser les deux fichiers sur le bureau en attendant. Pas la peine de tester le fichier .bat(double clic, ouvrir, exécuter...), vous
n'avez pas les droits nécessaires dans le registre.
*
option: Création du raccourci vers la console de gestion des stratégies de groupes (sinon taper gpedit.msc)
Dans les "Outils d'administrations" du Panneau de configuration, clic droit -> Nouveau raccourci, Emplacement -> gpedit.msc , Nom -> Éditeur de stratégies de groupes (avec le É en majuscule [Alt+0201], svp, c'est plus joli
).
Clic droit sur le nouveau raccourci, propriétés->changer d'icône, taper gpedit.dll -> OK.
Ouvrir l'Éditeur de stratégies de groupes et aller à configuration ORDINATEUR/Paramètres Windows/Scripts (démarrage/arrêt) -> double clic sur démarrage -> Afficher les fichiers... déplacer les deux fichiers laissés sur le Bureau vers C:\WINNT[Windows pour la plupart]\System32\GroupPolicy\Machine\Scripts\Startup, fermer le dossier, cliquer sur Ajouter, Parcourir, sélectionner le fichier .bat -> Ouvrir OK OK fermer l'éditeur.
C'est fini
Pas besoin de modifier les autorisations sur la branche: c'est le "SYSTEM" qui fait le boulot et il a déjà le contrôle total.
Ici, on lit pourquoi les développeurs de drivers se sont vautrés: http://msdn2.microsoft.com/en-us/library/aa491648.aspx (Merci Microsoft)
- Citation :
- Clarification on Removable capability
The documentation for the Removable capability above isn't quite accurate. It should read:
Specifies whether the device can be dynamically removed from its immediate parent.
The current docs say "from the system" which has led to confusion for developers who produce drivers for devices that enumerate child devnodes. For a multi-function hardware product containing multiple devnodes (e.g. a multi-function printer) the Removable capability should be set to TRUE only for the top-level node. Child nodes that represent internal components should have this capability set to FALSE.
We're working on getting the official docs fixed, but I wanted to get this note out there for any readers today.
PS: il me restait dans le registre une autre branche USB\Vid_2040&Pid_9951&MI00\7&3ac9a0dc&2&0000 correspondant sûrement à une installation/désinstallation précédente. La clé capabilities y était positionnée à .... 184 (100+80+4).... pour être sûr que l'icône reste bien cachée peut-être !!!
*Installation de la console de gestion des stratégies de groupes sous XP familiale (home edition), dont elle est absente: http://www.bellamyjc.org/fr/strategie.html