acxFactoryCircuitInitAssignMethods 函式 (acxcircuit.h)

AcxFactoryCircuitInitAssignMethods 函式會為 ACXFACTORYCIRCUIT 指派一或多個 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

將指派給線路的方法數目。 這是一個以計數為基礎的計數。

傳回值

如果呼叫成功,則傳 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 版本概觀

規格需求

需求
標頭 acxcircuit.h
IRQL PASSIVE_LEVEL

另請參閱