Compartilhar via


PCI Bus Driver Registry Settings

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

O seguinte exemplo chave do Registro mostra o driver barramento PCI chaves Registro, que são em % _WINCEROOT%\Public\Common\OAK\Drivers\PCIBus\PCIBus.reg.

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI]
    "Dll"="PCIbus.dll"
    "Order"=dword:20
    "Flags"=dword:8
    "BusIoctl"=dword:2a0048
    "IClass"=multi_sz:"{CD149194-286F-4095-9694-D70E6AB867C3}=%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"

; Registry enumerator used for loading each PCI device driver instance   
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Instance]
    "InterfaceType"=dword:5
    "BusName"="PCI"

O seguinte exemplo chave do Registro mostra o modelo e chaves instância resultante para o driver ES1371 localizado em % _WINCEROOT%\Public\Common\OAK\Drivers\WaveDev\PDD\ES1371. Ele é o modelo fornecido no seu arquivo Platform.reg.

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\WaveDev]
    "Prefix"="WAV"
    "Dll"="es1371.dll"
    "Index"=dword:1
    "Order"=dword:0
    "Dma"=dword:5
    "Class"=dword:04
    "SubClass"=dword:01
    "ProgIF"=dword:00
    "VendorID"=multi_sz:"1274","1274"
    "DeviceID"=multi_sz:"1371","5880"
    "IsrDll"="giisr.dll"
    "IsrHandler"="ISRHandler"

O seguinte exemplo mostra chave do Registro o Instância chave do Registro de instância 1 do driver de ES1371.

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Instance\WaveDev1]
    DWORD: SysIntr = 0x20
    DWORD: Irq = 0x9
    DWORD: IoLen = 0x40
    DWORD: IoBase = 0xe000
    DWORD: BusNumber = 0x0
    DWORD: InterfaceType = 0x5
    DWORD: SubSystemID = 0x1371
    DWORD: SubVendorID = 0x1274
    DWORD: RevisionID = 0x8
    DWORD: DeviceID = 0x1371
    DWORD: VendorID = 0x1274
    DWORD: ProgIF = 0x0
    DWORD: SubClass = 0x1
    DWORD: Class = 0x4
    SZ: IsrHandler = ISRHandler
    SZ: IsrDll = giisr.dll
    DWORD: Dma = 0x5
    DWORD: Order = 0x0
    DWORD: Index = 0x1
    SZ: Dll = es1371.dll
    SZ: Prefix = WAV
    DWORD: InstanceIndex = 0x1

Tudo o que o driver precisa é fornecido pelo IoBase, IoLen, IRQ e SysIntr. Informações de identificação de dispositivo também for fornecidas, que inclui Classe, SubClass, ProgIF, VendorID, DeviceID, RevisionID, SubVendorID e SubSystemID. 0 x 5 for especificado para o PCI InterfaceType, e 0 (zero) é especificado para o barramento PCI BusNumber. Essas especificações são úteis quando chamado HalTranslateBusAddress Ou TransBusAddrToVirtual.

Um driver lê o IoBase, IoLen, IRQ, SysIntr, InterfaceType e BusNumber Valores out of o Registro e em seguida, chama TransBusAddrToVirtual Para criar um endereço virtual de base para o dispositivo. O barramento não importa para o driver porque todas as informações relevantes é fornecida para ela. Assim, você também pode usar esse driver para um dispositivo ISA, se os valores esperados Registro estão Pre-set no Registro.

See Also

Concepts

Installable ISRs and Device Drivers