AcxFactoryCircuitInitAssignMethods 関数 (acxcircuit.h)

AcxFactoryCircuitInitAssignMethods 関数は、ACXFACTORYCIRCUIT に 1 つ以上の ACX メソッドを割り当てます。

構文

NTSTATUS AcxFactoryCircuitInitAssignMethods(
  PACXFACTORYCIRCUIT_INIT FactoryInit,
  PACX_METHOD_ITEM        Methods,
  ULONG                   MethodsCount
);

パラメーター

FactoryInit

回線ファクトリの初期化に使用されるACXFACTORYCIRCUIT_INIT構造体。 これは、ACX 回線ファクトリ初期化情報を格納し、ファクトリを WDF デバイスに関連付けるために使用される不透明な構造です。 AcxFactoryCircuitInitAllocate 関数を使用して、ACXFACTORYCIRCUIT_INIT構造体を初期化します。

Methods

回路の初期化に使用される一連のメソッドを定義する ACX_METHOD_ITEM 構造体。

MethodsCount

回線に割り当てられるメソッドの数。 これは 1 から始まるカウントです。

戻り値

STATUS_SUCCESS呼び出しが成功した場合は を返します。 それ以外の場合は、適切なエラー コードを返します。 詳細については、「 NTSTATUS 値の使用」を参照してください。

注釈

ドライバーは、ドライバー所有のメソッドのみを追加する必要があります。

使用例を次に示します。

typedef enum {
    KSMETHOD_APXCIRCUITFACTORY_ADD_CIRCUIT        = 1,
    KSMETHOD_APXCIRCUITFACTORY_REMOVE_CIRCUIT     = 2,
} KSMETHOD_APXCIRCUITFACTORY;

static ACX_METHOD_ITEM s_FactoryCircuitMethods[] =
{
    {
        &KSMETHODSETID_ApxCircuitFactory,
        KSMETHOD_APXCIRCUITFACTORY_ADD_CIRCUIT,
        ACX_METHOD_ITEM_FLAG_SEND,
        &C_EvtAddCircuitCallback,
        NULL,                                       // Reserved
        sizeof(APX_CIRCUIT_FACTORY_ADD_CIRCUIT),    // ControlCb
        0,                                          // ValueCb
    },
    /*
    {
        &KSMETHODSETID_ApxCircuitFactory,
        KSMETHOD_APXCIRCUITFACTORY_REMOVE_CIRCUIT,
        ACX_METHOD_ITEM_FLAG_SEND,
        &EvtRemoveCircuitCallback,
        NULL,                                       // Reserved
        sizeof(APX_CIRCUIT_FACTORY_REMOVE_CIRCUIT), // ControlCb
        0,                                          // ValueCb
    },
    */
};
    //
    // Get a FactoryCircuitInit structure.
    //
    factoryInit = AcxFactoryCircuitInitAllocate(Device);

    //
    // Add factory identifiers.
    //
    AcxFactoryCircuitInitSetComponentId(factoryInit, &KSCATEGORY_APXCIRCUITFACTORY);
    AcxFactoryCircuitInitAssignCategories(factoryInit, &KSCATEGORY_APXCIRCUITFACTORY, 1);
    AcxFactoryCircuitInitAssignName(factoryInit, &s_FactoryName);

    //
    // Add properties, events and methods.
    //
    status = AcxFactoryCircuitInitAssignMethods(factoryInit,
                                                s_FactoryCircuitMethods,
                                                s_FactoryCircuitMethodsCount);

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、「 ACX バージョンの概要」を参照してください。

要件

要件
Header acxcircuit.h
IRQL PASSIVE_LEVEL

こちらもご覧ください