Скачиваний:
39
Добавлен:
01.05.2014
Размер:
1.26 Кб
Скачать
/**
*.Name      get_devi
*
*.Title     Џ®«гзЁвм Ё­д®а¬ жЁо ®Ў гбва®©б⢥
*
*.Descr     ”г­ЄжЁп Ї®«гз Ґв Ё­д®а¬ жЁо ® д ©«Ґ
*           Ё«Ё ®Ў гбва®©б⢥ Ї® ҐЈ® д ©«®ў®¬г ­®¬Ґаг.
*
*
*.Proto     int get_devi(int handle, int *info);
*
*.Params    handle      - д ©«®ўл© ­®¬Ґа (奭¤«) ¤«п
*                         Є®в®а®Ј® ­Ґ®Ўе®¤Ё¬® Ї®«гзЁвм
*                         Ё­д®а¬жЁо
*
*           info        - гЄ § вҐ«м ­  б«®ў®, ў Є®в®а®Ґ
*                         ¤®«¦­  Ўлвм § ЇЁб ­  Ё­д®а¬ жЁп
*
*.Return    0          - Ґб«Ё ­Ґв ®иЁЎ®Є;
*           Љ®¤ ®иЁЎЄЁ - Ґб«Ё Їа®Ё§®и«  ®иЁЎЄ .
*
*.Sample    show_di.c
**/

#include <stdio.h>
#include <dos.h>
#include "sysp.h"

int get_devi(int handle, int *info) {

	 union REGS reg;

// ‡ Ї®«­пҐ¬ ॣЁбва®ўлҐ бвагЄвгал ¤«п ўл§®ў 
// ЇаҐалў ­Ёп DOS INT 21h. Љ®¤ ЁбЇ®«м§гҐ¬®©
// Ї®¤дг­ЄжЁЁ - 00h.

	 reg.x.ax = 0x4400;
	 reg.x.bx = handle;

// ‚л§лў Ґ¬ ЇаҐалў ­ЁҐ

	 intdos(&reg, &reg);

// Џа®ўҐа塞 д« Ј ЇҐаҐ­®б 

	 if(reg.x.cflag == 0) {

// …б«Ё д« Ј ЇҐаҐ­®б  бЎа®иҐ­ ў 0, ®иЁЎ®Є ­Ґв.
// ‡ ЇЁблў Ґ¬ Ё­д®а¬ жЁо Ї®  ¤аҐбг *info

	  *info = reg.x.dx;
	  return(0);

	 }

// …б«Ё д« Ј ЇҐаҐ­®б  гбв ­®ў«Ґ­ ў 1, ў®§ўа й Ґ¬
// Є®¤ ®иЁЎЄЁ

	 else return(reg.x.ax);
}
Соседние файлы в папке LIBSRC