🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.program
Article #284

Virtual Device identifier

#284
From: ikoo
Date: Tue, 04 Aug 1998 00:00
36 lines
2817 bytes
VIRTUAL DEVICE IDENTIFIER

A virtual device provides a virtual device identifier to help distinguish it from all other
virtual devices. The VMM dynamic-linking routine uses virtual device identifiers to help it
link service calls to the appropriate virtual device. A virtual device needs a unique
identifier if it provides services, provides a V86-mode or protected-mode API procedure, 
or in some oter way needs to be uniquely identified.

Although standaard virtual devices use the predefined virtual devce identifiers (symbols
defined in VMM.INC), virtual devices that support new devices or software interfaces
must have entirely new identifiers. To help prevent conflicts with other new virtual
devices, Microsoft assigns new identifiers on request, registering the identifiers to
ensure that no other manufactureruses the identifier for its own virtual devices.
Microsoft reserves all virtual device identifiers from 0 to 01ffh for its own use.

Virtual devices that do not provide service or API procedures, or that do not require a 
unique identifier should use the Undefined_Device_ID symbol to define the virtual device
identifier.
Each virtual device has an initialization order value that specifies when the VMM should
initialize the virtual device. The Vmm initializzes the virtual machine with the lowest value
first and highest value last. If two or more devices have the same value, the VMM may
initialize them in the order they appear in the SYSTEM.INI file; however, a specific order
is not guaranteed.

The initialization order is important for virtual devices that need to call sevices in other
virtual device, or that need to intercept specified interrupts before other virtual devices.
If a virtual device needs to be initialized before or after a standartd virtual device, it's initialization order value is created by adding or subtracting g
a small value from the
standard virtual device's predefined initialization order symbol (defined in the VMM.INC
file).

If a virtual device does not require a specific initialization order, it should use the
Undefined_Init_Order symbol for its initialization order value.

--
�� ��Դ:���������� BBS bbs.nease.net��[FROM: 202.96.133.150]
Technical Details
Message-ID: <3PkAjA$SLD@bbs.nease.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII
X-Google-Thread: fc86e,f8670d5decdb748d,start
X-Google-Attributes: gidfc86e,public
From: ikoo.bbs@bbs.nease.net (ikoo)
Subject: Virtual Device identifier
Date: 1998/08/04
Message-ID: <3PkAjA$SLD@bbs.nease.net>
X-Deja-AN: 378458624
X-Filename: Program/M.902234746.A
X-Complaints-To: usenet@news.nease.net
X-Trace: news.nease.net 902367826 17077 202.96.152.195 (6 Aug 1998 01:43:46 GMT)
Organization: Net Ease
NNTP-Posting-Date: 6 Aug 1998 01:43:46 GMT
Newsgroups: cn.bbs.comp.program,