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は、回線ファクトリの初期化に使用される不透明なオブジェクトです。 AcxFactoryCircuitInitAllocate を使用して、ACXFACTORYCIRCUIT_INIT構造体を初期化します。
Factory
新しい ACXFACTORYCIRCUIT オブジェクトへのハンドルを受け取る場所へのポインター。 ACX オブジェクトの詳細については、「 ACX オブジェクトの概要」を参照してください。
戻り値
STATUS_SUCCESS
呼び出しが成功した場合は を返します。 それ以外の場合は、適切なエラー コードを返します。 詳細については、「 NTSTATUS 値の使用」を参照してください。
注釈
ACXFACTORYCIRCUIT は、ACX フレームワークによって "オンデマンド" ACXCIRCUIT に使用されます。 ACX は、エンドポイントに必要な場合に新しい回線を作成するように ACXFACTORYCIRCUIT に要求します。
ACXFACTORYCIRCUIT は、マルチ回線エンドポイントで使用されます。 ACXFACTORYCIRCUIT によって作成された回線は、エンドポイントの "コア" 回線 (エンドポイント ID を提供する回線) にすることはできません。
ACXFACTORYCIRCUIT には、専用の WDF キューがあります。 WDF キューの詳細については、「 フレームワーク キュー オブジェクト」を参照してください。
例
使用例を次に示します。
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 バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |