[an error occurred while processing this directive]
|
BYTE TFX2_EPP::Detection(void)
{
char *mass_data = new char[0x2000];
FNumberOfDevice = 0;
FSelectedDevice = 0;
name_device[0] = NULL;
char * St;
unsigned short int i = 0;
AnsiString names_dos_device;
QueryDosDevice(NULL,mass_data,0x2000);
names_dos_device =("");
do
{
if (mass_data[i]==0)
{
St = strstr(names_dos_device.c_str(),FAnsiCompared.c_str());
if (St!=NULL)
{
FNumberOfDevice++;
delete [] name_device[FNumberOfDevice];
name_device[FNumberOfDevice] = new char[90];
strcpy(name_device[FNumberOfDevice],"\\\\.\\");
strcat(name_device[FNumberOfDevice],St);
}
St ="";
names_dos_device =("");
}
else
{
names_dos_device = names_dos_device+mass_data[i];
}
if ((mass_data[i]==0)&&(mass_data[i+1]==0))
{break;}
i++;
}
while(i<0x2000);
delete [] mass_data;
if (FNumberOfDevice!=0)
{
FSelectedDevice = 1;
}
return FNumberOfDevice;
}