// acxcircuit.h
NTSTATUS AcxFactoryCircuitInitAssignMethods(
PACXFACTORYCIRCUIT_INIT FactoryInit,
PACX_METHOD_ITEM Methods,
ULONG MethodsCount
);
View the official Windows Driver Kit DDI referenceNo description available.
The AcxFactoryCircuitInitAssignMethods function assigns one or more ACX methods for the ACXFACTORYCIRCUIT.
FactoryInitAn ACXFACTORYCIRCUIT_INIT structure that is used for circuit factory initialization. This is an opaque structure that is used to store ACX Circuit factory initialization information and associate the factory with a WDF device. Use the AcxFactoryCircuitInitAllocate function to initialize the ACXFACTORYCIRCUIT_INIT structure.
MethodsAn ACX_METHOD_ITEM structure that defines a set of methods that will be used for circuit initialization.
MethodsCountThe number of methods that will be assigned to the circuit. This is a one based count.
Returns STATUS_SUCCESS if the call was successful. Otherwise, it returns an appropriate error code. For more information, see Using NTSTATUS Values.
Drivers should only add driver owned methods.
Example usage is shown below.
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);
Minimum ACX version: 1.0
For more information about ACX versions, see ACX version overview.