Aspi : des informations sur vos lecteur et graveurs de cd et vos cd (fabricant,capacité,...) (win32)

Soyez le premier à donner votre avis sur cette source.

Vue 13 875 fois - Téléchargée 773 fois

Description

Ce code permet d'obtenir des infos (Lecture CD-R,CD-RW,Ecriture de CD-R,CD-RW) sur les lecteurs ou graveurs de CD présents sur votre ordinateur.
Il permet aussi d'obtenir des infos (fabricant, taille,...) sur un CD (présent dans un graveur : les lecteurs de CD ne sont pas toujours capables de lire les infos ATIP).

Pour utiliser ce code, il vous faut WNASPI32.dll :
- il faut télécharger le pack ASPI d'adaptec (http://www.gravure-news.com/html/tuto/08/page01.php) : http://www.adaptec.com/worldwide/support/suppdetail.jsp?sess=no&language=English+US&prodkey=ASPI-4.70
Dans ce cas, les fichier sont placés dans le répertoire système. Ensuite, il faut ajouter une clé au registre pour que cela fonctionne : http://www.macdisk.com/faqaspifr.php3
Il faut impérativement une valeur chaine "ExcludeMiniports" vide :
Sous Windows NT/2000/XP :
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
Aspi32
Parameters

ExcludeMiniports
Sous Windows 95/98 :
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Services
VxD
APIX
ExcludeMiniports

- sinon vous pouvez le télécharger à l'adresse suivante : ftp://ftp6.nero.com/wnaspi32.dll (juste pour tester (ce fichier est le propriété de Nero ). Il faut ensuite le placer dans le répertoire de l'application (et de la dll ASPIdll.dll). Nero interdit de la mettre dans system32...

Ce projet est compatible 9x/ME/NT/2000/XP.

Conclusion :


Le code est un peu commenté. Il applique les commandes SCSI (http://casl.csa.iisc.ernet.in/Standards/SCSI/ ou sur www.t10.org : SCSI-3 Primary Commands (SPC), SCSI-3 Multimedia Commands (MMC), Multi-Media Commands - 2 (MMC-2), SCSI-2 Small Computer System Interface - 2 (SCSI-2))

Le seul bug connu est que chez moi, Ejecter ou charger le CD est impossible avec ASPI. La gestion d'erreur est minimale (juste détection de présence ou absence de WNASPI32.dll sinon en fait ca affiche juste n'importe quoi en cas d'erreur.

Si vous utilisez ce code, Nero interdit de distribuer son WNASPI32.dll.

N'hésitez pas à mettre des commentaires et à noter...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_Buzleclair
Messages postés
8
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
5 octobre 2005

10 oct. 2005 à 01:28
Salut,

Le bouton "Ejecter" ne fonctionne pas car il y a une erreur sur ta CDB dans le fichier CDROM.CPP à la ligne 214.
En effet, le code pour CDB[0] n'est pas 0xA6 mais 0x1B
Avec cete modification, l'ejection fonctionne :-)

DWORD LoadUnloadCD(BYTE HaID,BYTE Target,BYTE Lun,BOOL Load)
{
//LOAD/UNLOAD CD Command demande une CDB de 12 octets
BYTE CDB[12]={0};

//LOAD/UNLOAD CD Command
CDB[0]= 0x1B; //0xA6;
//si on veut fermer
if (Load)
CDB[4]=3; //LOAD
else
CDB[4]=2; //UNLOAD

//SLOT 0
CDB[8]=0;

//execute la commande LOAD/UNLOAD CD
return Exec(HaID,Target,Lun,NULL,0,12,CDB);
}

Tchô Tchô
Burn Proof Alias Buz l'eclair
---------------------------------------------------------------
ShareVB
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
25
13 déc. 2004 à 18:21
salut

oui, je sais que Ejecter ne marche pas mais je ne sais pas pourquoi

sinon, pour le graveur USB, je pense que cela vient des pilotes ASPI et pas de mon code.
La solution se trouve peut être dans ces pages
http://www.plextor.com/english/support/faqs/SW00004.htm
http://aspi.radified.com/
http://www.afterdawn.com/guides/archive/aspisetup.cfm

il faut avoir la dernière version des pilotes ASPI, avoir mis une chaîne vide (et pas l'absence de clé) dans ExcludeMiniport (voir explications)

ShareVB
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
10
12 déc. 2004 à 17:45
- Ejecter ne marche pas
- Mon graveur de DVD en USB n'est pas dans la liste
cs_AlexMAN
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
1 sept. 2004 à 10:31
Ca a l'air de fonctionner maintenant.

++
ShareVB
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
25
1 sept. 2004 à 09:49
salut

merci pour le test... (le pire c'est que chez moi ça marchait quand même)

le bug ne vient pas du code qui gère ASPI mais du combo : je n'avais pas fait attention que CB_ADDSTRING ne l'ajoutait pas forcement à la fin de la liste... en fait ca devait interroger ton disque dur, d'où l'affichage erroné...

ShareVB
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.