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 Summary of Framework Objects) qui sera associé au circuit.
Attributes
Attributs supplémentaires définis à l’aide d’un WDF_OBJECT_ATTRIBUTES utilisé pour définir les valeurs de l’objet : nettoyer et détruire les rappels, le type de contexte et 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 d’usine de circuit. 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 de retour
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.
Remarques
Un ACXCIRCUIT représente un chemin audio complet ou partiel (multi-circuit) vers un appareil audio perçu par l’utilisateur (haut-parleurs, micro, etc.).
AcXCIRCUIT a au moins une broche d’entrée (ACXPIN) et une broche de sortie (ACXPIN), et 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 pour ACX
version minimale d’ACX : 1.0
Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | acxcircuit.h |
IRQL | PASSIVE_LEVEL |