Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze handleiding wordt uitgelegd hoe een audiostuurprogramma van poortklasse eigenschappen en registerwaarden voor een PnP-apparaatinterface kan instellen. Als u de apparaatinterface correct wilt registreren en vereiste waarden wilt instellen, moet het Portcls-stuurprogramma de volgende stappen uitvoeren:
1. De apparaatinterface registreren
Voordat het stuurprogramma PcRegisterSubdevice
voor het subapparaat aanroept, moet het IoRegisterDeviceInterface
aanroepen om de KSCATEGORY_AUDIO
-interface te registreren. Hierdoor kan het stuurprogramma interface-eigenschappen en registerwaarden instellen voordat PcRegisterSubdevice
de interfaces worden geregistreerd en ingeschakeld.
Wanneer u belt IoRegisterDeviceInterface
, stelt het audiostuurprogramma de parameters als volgt in:
- De
PhysicalDeviceObject
parameter is dePDEVICE_OBJECT
opgehaald uit dePcGetPhysicalDeviceObject
functie. - De
InterfaceClassGuid
is ingesteld op de klasse-GUID van de interface. - Dit
ReferenceString
is hetzelfde als deName
parameter die wordt doorgegeven aanPcRegisterSubdevice
.
Nadat deze taken met succes zijn voltooid, retourneert IoRegisterDeviceInterface
een SymbolicLinkName
voor de geregistreerde interface.
2. Registerwaarden instellen
Het audiostuurprogramma roept IoOpenDeviceInterfaceRegistryKey
aan om een ingang te verkrijgen voor de registersleutel van de apparaatinterface. De parameters voor IoOpenDeviceInterfaceRegistryKey
worden als volgt ingesteld:
- De
SymbolicLinkName
is de tekenreeks die in de vorige stap vanIoRegisterDeviceInterface
is geretourneerd. - De
DesiredAccess
waarde is ingesteld opKEY_WRITE
(of andere waarden indien nodig door het stuurprogramma).
Nadat u deze stappen hebt voltooid, retourneert DeviceInterfaceKey
de geopende registersleutelhandle. Het audiostuurprogramma:
- Roep
ZwSetValueKey
aan om registerwaarden in te stellen. - Sluit de registersleutelgreep door
ZwClose
aan te roepen.
Notitie: Als het stuurprogramma waarden in een registersubsleutel moet instellen, moet het ZwCreateKey
aanroepen om de subsleutel te maken. Bij het voorbereiden van het aanroepen ZwCreateKey
, is het stuurprogramma:
- Roept
InitializeObjectAttributes
aan en steltObjectName
in op het subsleutelpad. - Stelt
Attributes
in opOBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE
. - Stelt
RootDirectory
in op de handle die wordt geretourneerd doorIoOpenDeviceInterfaceRegistryKey
. - Oproep
ZwClose
om een handle af te sluiten die is aangemaakt doorZwCreateKey
aan te roepen.
3. Eigenschappen instellen
Het audiostuurprogramma roept IoSetDeviceInterfacePropertyData
aan om eigenschappen in te stellen. De parameters voor IoSetDeviceInterfacePropertyData
worden als volgt ingesteld:
- Dit
SymbolicLinkName
is de tekenreeks die wordt geretourneerd vanuitIoRegisterDeviceInterface
. - De resterende parameters zijn afhankelijk van de specifieke eigenschap die wordt ingesteld.