Check if device is active
Posted: Mon May 29, 2017 8:03 pm
I am having no luck at scanning the device list and skipping the ones that are not fully mounted yet (Activate=0; in mountlist and not accessed yet). All the functions I have been using activates it when it should be skipping it.
How do I skip them?
How do I skip them?
Code: Select all
if ((ADOList=IDOS->AllocDosObjectTags(DOS_VOLUMELIST,
ADO_Type, LDF_DEVICES|LDF_READ,
ADO_AddColon, FALSE,
TAG_DONE)))
{
for(node=IExec->GetHead(ADOList); node; node=IExec->GetSucc(node))
{
if ((dl=IDOS->LockDosList(LDF_DEVICES|LDF_READ)))
{
if ((dl=IDOS->FindDosEntry(dl,node->ln_Name,LDF_DEVICES|LDF_READ) ))
{
if (dl->dol_Type==DLT_DEVICE)
{
// if not fully mounted (Activate=0;) then skip
// else add to list
}
}
IDOS->UnLockDosList(LDF_DEVICES|LDF_READ);
}
}
IDOS->FreeDosObject(DOS_VOLUMELIST,ADOList);
}