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 |