AcxFactoryCircuitCreate 関数 (acxcircuit.h)
AcxFactoryCircuitCreate 関数は、ACXFACTORYCIRCUIT を作成するために使用されます。
構文
NTSTATUS AcxFactoryCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXFACTORYCIRCUIT_INIT *Config,
ACXFACTORYCIRCUIT *Factory
);
パラメーター
Device
回線に関連付けられる WDFDEVICE オブジェクト (フレームワーク オブジェクト の概要で説明)。
Attributes
さまざまなオブジェクトの値を設定するために使用される WDF_OBJECT_ATTRIBUTES を使用して定義された追加の属性: コールバックのクリーンアップと破棄、コンテキストの種類、および WDF 親オブジェクトの指定。
Config
回路ファクトリの初期化を定義するACXFACTORYCIRCUIT_INIT構造体。 ACXFACTORYCIRCUIT_INITは、回路ファクトリの初期化に使用される不透明なオブジェクトです。 ACXFACTORYCIRCUIT_INIT構造体 初期化するには、AcxFactoryCircuitInitAllocate を使用します。
Factory
新しい ACXFACTORYCIRCUIT オブジェクトへのハンドルを受け取る場所へのポインター。 ACX オブジェクトの詳細については、ACX オブジェクトの概要を参照してください。
戻り値
呼び出しが成功した場合に STATUS_SUCCESS
を返します。 それ以外の場合は、適切なエラー コードが返されます。 詳細については、NTSTATUS 値 の使用に関するを参照してください。
備考
ACXFACTORYCIRCUIT は、"オンデマンド" ACXCIRCUIT 用の ACX フレームワークによって使用されます。 ACX は、エンドポイントに新しい回線が必要な場合に、新しい回線を作成するよう ACXFACTORYCIRCUIT に要求します。
ACXFACTORYCIRCUIT は、マルチ回線エンドポイントで使用されます。 ACXFACTORYCIRCUIT によって作成された回線は、エンドポイントの "コア" 回線 (つまり、エンドポイント ID を提供する回線) にすることはできません。
ACXFACTORYCIRCUIT には、専用の WDF キューがあります。 WDF キューの詳細については、「Framework Queue Objects」を参照してください。
例
使用例を次に示します。
NTSTATUS status;
WDF_OBJECT_ATTRIBUTES attributes;
ACXFACTORYCIRCUIT factory;
PACXFACTORYCIRCUIT_INIT factoryInit = NULL;
SDCAXU_FACTORYCIRCUIT_CONTEXT * factoryCtx;
ACX_FACTORY_CIRCUIT_OPERATION_CALLBACKS operationCallbacks;
//
// Get a FactoryCircuitInit structure.
//
factoryInit = AcxFactoryCircuitInitAllocate(Device);
//
// Add factory identifiers.
//
AcxFactoryCircuitInitSetComponentId(factoryInit, &SDCAXU_FACTORY_GUID);
AcxFactoryCircuitInitAssignCategories(factoryInit, &SDCAXU_FACTORY_CATEGORY, 1);
AcxFactoryCircuitInitAssignName(factoryInit, &s_FactoryName);
//
// Assign the circuit's operation-callbacks.
//
ACX_FACTORY_CIRCUIT_OPERATION_CALLBACKS_INIT(&operationCallbacks);
operationCallbacks.EvtAcxFactoryCircuitCreateCircuitDevice = SdcaXu_EvtAcxFactoryCircuitCreateCircuitDevice;
operationCallbacks.EvtAcxFactoryCircuitCreateCircuit = SdcaXu_EvtAcxFactoryCircuitCreateCircuit;
AcxFactoryCircuitInitSetOperationCallbacks(factoryInit, &operationCallbacks);
//
// Create the factory circuit.
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, SDCAXU_FACTORYCIRCUIT_CONTEXT);
attributes.ParentObject = Device;
status = AcxFactoryCircuitCreate(Device, &attributes, &factoryInit, &factory);
ACX の要件
最小 ACX バージョン: 1.0
ACX バージョンの詳細については、ACX バージョンの概要 参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | acxcircuit.h |
IRQL | PASSIVE_LEVEL |
関連項目
- acxcircuit.h ヘッダー を する