AcxCircuitCreate, fonction (acxcircuit.h)
La fonction AcxCircuitCreate est utilisée pour créer un ACXCIRCUIT.
Syntaxe
NTSTATUS AcxCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXCIRCUIT_INIT *Config,
ACXCIRCUIT *Circuit
);
Paramètres
Device
Objet WDFDEVICE (décrit dans Résumé des objets framework) qui sera associé au circuit.
Attributes
Attributs supplémentaires définis à l’aide d’un WDF_OBJECT_ATTRIBUTES qui sont utilisés pour définir les valeurs des différents objets : nettoyage et destruction des rappels, type de contexte et pour spécifier son objet WDF parent.
Config
Structure ACXCIRCUIT_INIT qui définit l’initialisation de la fabrique de circuit. ACXCIRCUIT_INIT est un objet opaque utilisé pour l’initialisation des fabriques de circuits. Utilisez AcxCircuitInitAllocate pour initialiser la structure ACXCIRCUIT_INIT.
Circuit
Pointeur vers un emplacement qui reçoit un handle vers le nouvel objet ACXCIRCUIT. Pour plus d’informations, consultez Résumé des objets ACX.
Valeur retournée
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, il retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.
Remarques
Un ACXCIRCUIT représente un chemin audio complet ou partiel (multi-circuit) vers un périphérique audio perçu par l’utilisateur (haut-parleurs, micro, etc.).
Un ACXCIRCUIT a au moins une broche d’entrée (ACXPIN) et une broche de sortie (ACXPIN), et il peut agréger un ou plusieurs objets ACXELEMENTS. Par défaut, les ACXELEMENTs sont « connectés » dans le même ordre d’assembly.
Exemple
L’exemple d’utilisation est illustré ci-dessous.
status = AcxCircuitInitAssignName(circuitInit, &circuitName);
//
// Add circuit type.
//
AcxCircuitInitSetCircuitType(circuitInit, AcxCircuitTypeRender);
//
// Assign the circuit's pnp-power callbacks.
//
ACX_CIRCUIT_PNPPOWER_CALLBACKS_INIT(&powerCallbacks);
powerCallbacks.EvtAcxCircuitPowerUp = SdcaR_EvtCircuitPowerUp;
powerCallbacks.EvtAcxCircuitPowerDown = SdcaR_EvtCircuitPowerDown;
AcxCircuitInitSetAcxCircuitPnpPowerCallbacks(circuitInit, &powerCallbacks);
//
// Set circuit-callbacks.
//
status = AcxCircuitInitAssignAcxCreateStreamCallback(
circuitInit,
SdcaR_EvtCircuitCreateStream);
//
// Create the circuit.
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, SDCA_RENDER_CIRCUIT_CONTEXT);
status = AcxCircuitCreate(Device, &attributes, &circuitInit, &circuit);
Configuration requise d’ACX
Version minimale d’ACX : 1.0
Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | acxcircuit.h |
IRQL | PASSIVE_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour