Función AcxFactoryCircuitInitAssignMethods (acxcircuit.h)
La función AcxFactoryCircuitInitAssignMethods asigna uno o varios métodos ACX para ACXFACTORYCIRCUIT.
Sintaxis
NTSTATUS AcxFactoryCircuitInitAssignMethods(
PACXFACTORYCIRCUIT_INIT FactoryInit,
PACX_METHOD_ITEM Methods,
ULONG MethodsCount
);
Parámetros
FactoryInit
Estructura ACXFACTORYCIRCUIT_INIT que se usa para la inicialización de fábrica de circuitos. Se trata de una estructura opaca que se usa para almacenar la información de inicialización de fábrica del circuito ACX y asociar la fábrica a un dispositivo WDF. Use el función AcxFactoryCircuitInitAllocate para inicializar la estructura de ACXFACTORYCIRCUIT_INIT.
Methods
Estructura ACX_METHOD_ITEM que define un conjunto de métodos que se usarán para la inicialización del circuito.
MethodsCount
Número de métodos que se asignarán al circuito. Se trata de un recuento basado.
Valor devuelto
Devuelve STATUS_SUCCESS
si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Using NTSTATUS Values.
Observaciones
Los controladores solo deben agregar métodos propiedad del controlador.
Ejemplo
A continuación se muestra el uso de ejemplo.
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);
Requisitos de ACX
versión mínima de ACX: 1.0
Para obtener más información sobre las versiones de ACX, consulte introducción a la versión de ACX.
Requisitos
Requisito | Valor |
---|---|
encabezado de | acxcircuit.h |
irQL | PASSIVE_LEVEL |