AcxCircuitCreate 関数 (acxcircuit.h)
AcxCircuitCreate 関数は、ACXCIRCUIT を作成するために使用されます。
構文
NTSTATUS AcxCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXCIRCUIT_INIT *Config,
ACXCIRCUIT *Circuit
);
パラメーター
Device
回線に関連付けられる WDFDEVICE オブジェクト ( 「フレームワーク オブジェクトの概要」を参照)。
Attributes
さまざまなオブジェクトの値を設定するために使用される WDF_OBJECT_ATTRIBUTES を使用して定義された追加の属性: コールバックのクリーンアップと破棄、コンテキストの種類、および親 WDF オブジェクトの指定。
Config
回路ファクトリの初期化を定義するACXCIRCUIT_INIT構造体。 ACXCIRCUIT_INITは、回線ファクトリの初期化に使用される不透明なオブジェクトです。 AcxCircuitInitAllocate を使用して、ACXCIRCUIT_INIT構造体を初期化します。
Circuit
新しい ACXCIRCUIT オブジェクトへのハンドルを受け取る場所へのポインター。 詳細については、「 ACX オブジェクトの概要」を参照してください。
戻り値
STATUS_SUCCESS
呼び出しが成功した場合は を返します。 それ以外の場合は、適切なエラー コードを返します。 詳細については、「 NTSTATUS 値の使用」を参照してください。
注釈
ACXCIRCUIT は、ユーザーが認識するオーディオ デバイス (スピーカー、マイクなど) への完全または部分的な (マルチ回線) オーディオ パスを表します。
ACXCIRCUIT には、少なくとも 1 つの入力ピン (ACXPIN) と 1 つの出力ピン (ACXPIN) があり、1 つ以上の ACXELEMENTS オブジェクトを集約できます。 既定では、ACXELEMENT はアセンブリの同じ順序で "接続" されます。
例
使用例を次に示します。
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);
ACX の要件
最小 ACX バージョン: 1.0
ACX バージョンの詳細については、「 ACX バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |