| ÐéÄâÉ豸Çý¶¯³ÌÐòÁ½¹Ø¼üÎÊÌâ(ÉÏ) |
|
2000-12-25¡¤
¡¤³Â¹úÓÑ¡¤¡¤Öйú²Ù×÷ϵͳ֧³ÖÕß
|
1 2 3 4 ÏÂÒ»Ò³ ¡¡¡ÔÚÐéÄâÉ豸Çý¶¯³ÌÐò(VxD)µÄÉè¼ÆÖУ¬Á½¸öÓÈΪ¹Ø¼ü£¬ÇÒÓÖÁîÈËÀ§ÈŵÄÎÊÌâÊÇVxDµÄÐéÄ⻯ºÍVxDÓëÓ¦ÓóÌÐò¼äµÄͨÐÅ»úÖÆ¡£ÏÂÃæ£¬¶ÔÕâÁ½¸öÎÊÌâ×÷Ò»ÏêϸµÄ̽ÌÖ¡£
¡¡¡¡Ò»¡¢VxDµÄÐéÄ⻯
¡¡¡¡ÓÉÓÚWindowsÔÊÐíͬʱÔËÐжà¸öÈÎÎñ£¬ËùÒÔ³öÏÖ¶à¸ö½ø³ÌÊÔͼͬʱ·ÃÎÊͬһÎïÀíÉ豸µÄÇé¿öʱ£¬Èç¹û¶à¸öÓ¦ÓóÌÐòͨ¹ýͬһ¸öDLLÇý¶¯³ÌÐò£¨×¢ÒâºÍÐéÄâÉ豸Çý¶¯³ÌÐòVxDµÄÇø±ð£©·ÃÎÊÉ豸£¬²»ÐèÒª¶Ô¸ÃÉ豸ÐéÄ⻯£¬Çý¶¯³ÌÐòʹ֮˳Ðò·ÃÎÊ£»Èç¹ûÊǶà¸öWindowsÓ¦ÓóÌÐò¶ÔÏàͬÉ豸ͬʱ·ÃÎÊ£¬ÓÉÓÚ¶¼ÔËÐÐÓÚSystem
VM£¨ÏµÍ³ÐéÄâ»ú£©£¬ËùÒÔÒ²²»ÐèÒªÐéÄ⻯£¬ËüÃǵķÃÎʽ«ÓÉÒ»¸öÇý¶¯³ÌÐò(Windows driver DLL)½øÐмì²â²¢Ê¹Ö®´®Ðл¯£¬¶ø²»ÊÇÒÀ¿¿VxD£»Èç¹û¶à¸öVMÊÔͼ·ÃÎÊͬһÉ豸£¬ÓÉÓÚDOSÓ¦ÓóÌÐòÄܹ»Ö±½Ó²Ù×ÝÓ²¼þ£¬ËùÒÔ±ØÐë¶Ô¸ÃÉ豸½øÐÐÐéÄ⻯£¬Ò»¸öÐéÄ⻯É豸µÄVxD¸ºÔð¿É¿¿µØ¼ì²â¶à¸öVMÊÔͼ·ÃÎÊͬһÉ豸µÄÇé¿ö£¬²¢²ÉÈ¡ÖٲõIJßÂÔÀ´½â¾öÕâÖÖ³åÍ»¡£ÕâÀï¿ÉÄÜÓÐÒÔϼ¸ÖÖ½â¾ö·½°¸£º
¡¡¡¡1¡¢ÔÊÐíÒ»¸öVM·ÃÎÊÎïÀíÉ豸£¬Í¬Ê±ºöÂÔÆäËüµÄVM¡£ÕâÊÇ×î¼òµ¥µÄÐéÄ⻯ÐÎʽ¡£ÈçVPD(Virtual Printer Device)¡£
¡¡¡¡2¡¢ÔÊÐíÒ»¸öVM·ÃÎÊÎïÀíÉ豸£¬Í¬Ê±ÎªÆäËüµÄVMÐéÄ⻯É豸¡£ÈçVKD(Virtual Keyboard Device)·ÖÅä¸øÒ»¸öVM£¬²¢Ê¹Ö®»ñµÃÎïÀí¼üÅ̵ķÃÎÊȨ£¨°üÀ¨¼üÅÌÖжÏÔÚÄÚ£©£¬¶ÔÆäËüµÄVM¶øÑÔ£¬VKDÖ»ÏòËüÃÇÌṩһ¸ö¿ÕµÄ¼üÅÌ»º³åÇø¡£
¡¡¡¡3¡¢ÔÊÐí¶à¸öVM¹²ÏíͬһÎïÀíÉ豸¡£¾¡¹Ü´æÔÚ¼ÙÏ󣬵«´ÓVMµÄ¹ÛµãÀ´¿´£¬ÕâÖÖ·½·¨Óë¶ÀÏí·ÃÎÊÒ»Ñù¡£ÈçVDD(Virtual Display Device)£¬Ê¹Ã¿Ò»¸öWindows»·¾³ÏµÄDOS
VMÈÏΪÊÇÖ±½ÓдÈëÏԴ棬ÆäʵֻÊDZ»VDDÓ³Éäµ½ÁËÒ»¸ö´°¿ÚµÄ»º³åÇø¡£
¡¡¡¡4¡¢VxD¶ÀÁ¢·ÃÎÊÎïÀíÉ豸µÄͬʱ£¬ÔÊÐíÒ»¸öVM·ÃÎÊÐéÄâÉ豸£¬ÕâÊÇ×ÔÓµÄÐéÄ⻯ÐÎʽ¡£ÈçVCD(Virtual Com Device),VCD»º³åÇø½ÓÊÕ´®ÐÐÊý¾Ý²¢Í¨¹ýÓ³ÉäÖжÏ͸Ã÷µØ´«¸øÏàÓ¦µÄÒ»¸öVM£¬VMÔÚÖжϴ¦Àí¹ý³ÌÖжÁÈ¡´®¿ÚÊý¾Ý¼Ä´æÆ÷£¬ÕâЩÊý¾ÝµÄʵÖÊÊÇVCD»º³åÇøÒѾ½ÓÊÕµÄÊý¾Ý¡£
¡¡¡¡ÓëÎïÀíÉ豸һÑù£¬Ó²¼þÖжϺܶàʱºòÒ²±ØÐëÐéÄ⻯£¬ÕâÖÖÇé¿ö¸üΪ¸´ÔÓ¡£ÐéÄ⻯ÖжÏʵÖÊÉϾÍÊǽ«Ó²¼þ²úÉúµÄÖжÏÓ³Éäµ½ÐèÒªËüµÄÿһ¸öVM£¨²»¹Ü¸ÃVMÊÇ·ñÕýÔÚÔËÐУ©£¬Ìæ´úVxD½øÐзþÎñ¡£ÔÚÕâÀïÎÒÃǸø³öÒ»¸öÐéÄ⻯ÖжϵÄVxDʵÀýµÄ¼¸¸öÖØÒª»Øµ÷¹ý³Ì£¬²¢²ÉÓÃ×î¼òµ¥µÄÖٲòßÂÔÀ´½â¾ö·ÃÎʳåÍ»£¨¼û³ÌÐò1£©¡£
¡¡¡¡typedef struct
¡¡¡¡{ ¡¡IRQHANDLE IrqHandle;
¡¡¡¡VMHANDLE VMOwner;
¡¡¡¡Char DeviceName[8];
¡¡¡¡BOOL bVMIsServicing;
¡¡¡¡} DEVICE_CONTEXT;
1 2 3 4 ÏÂÒ»Ò³ |
|
|
¸Ðл
·ÃÎÊÌì¼«Íø£¬Èç¹ûÄú¾õµÃ¸ÃÎÄÕÂÉæ¼°°æÈ¨ÎÊÌ⣬Çë¿´ÕâÀ
|