Аппаратное обеспечение персонального компьютера


           

DWORD dwLoc, DWORD dwSectorNum, int


  DWORD  lpTransferAddress;

  WORD   wDataSize;

  WORD   wStartSector;

  DWORD  lpVolID;

} IOCTL_Output;      

// Запрос на извлечение компакт-диска

typedef struct _EjectDisk

{

  BYTE  bControl;

} EjectDisk;

#pragma pack()

// Прототипы функций

void GetCDLetters(BYTE *bLetters);

void CallCDDriver(void *rh, int nCDUnit);

int PlayAudioTrack( DWORD dwLoc, DWORD dwSectorNum, int nCDUnit);

int StopAudio(int nCDUnit);

int DeviceOpen(int nCDUnit);

int DeviceClose(int nCDUnit);

int EjectCD(int nCDUnit);

DWORD Red2Sierra(DWORD dwRedLoc);

// Регистры для вызова функции int86

union REGS rg;                     

// Количество установленных устройств чтения CD-ROM

int nCDUnits;

// Номер первого устройства чтения CD-ROM

int nCDStartUnit;

// Слово состояния после вызова драйвера CD-ROM

int iStatus;

                               

// Массив номеров установленных устройств CD-ROM

BYTE bLetters[26];

// ---------------------------------------------------

// main

// Точка входа в программу

// ---------------------------------------------------

int main(int argc, char *argv[])

{

  int i;

 

  DWORD dwStartTrack;

 

  printf("CDPLAY, (c) A. Frolov, 1997\n\n");

 

  dwStartTrack = 1;

  if(argc == 2)

  {

    dwStartTrack = atol(argv[1]);

    printf("Track Red book: %ld\n", dwStartTrack);

   

  }

  else

  {

    printf("Usage: CDPLAY <Red book sector address>\n");

    return -1;

  }

 

  // Преобразование адреса сектора в формат Sierra

  dwStartTrack = Red2Sierra(dwStartTrack);

  printf("Track Sierra: %ld\n", dwStartTrack);

 

  // Проверяем, установлена ли программа MSCDEX

  rg.x.ax = 0x1500;

  rg.x.bx = 0;

  int86(0x2f, &rg, &rg);

  if(rg.x.bx == 0)

  {

    printf("MSCDEX is not installed\n");

    return -1;

  }

 

  else       

  {

    // Сохраняем общее количество устройств чтения CD-ROM

    nCDUnits = rg.x.bx;


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий