Fonction AcxFactoryCircuitInitAssignMethods (acxcircuit.h)
La fonction AcxFactoryCircuitInitAssignMethods affecte une ou plusieurs méthodes ACX pour ACXFACTORYCIRCUIT.
Syntaxe
NTSTATUS AcxFactoryCircuitInitAssignMethods(
PACXFACTORYCIRCUIT_INIT FactoryInit,
PACX_METHOD_ITEM Methods,
ULONG MethodsCount
);
Paramètres
FactoryInit
Structure ACXFACTORYCIRCUIT_INIT utilisée pour l’initialisation de la fabrique de circuits. Il s’agit d’une structure opaque utilisée pour stocker les informations d’initialisation de la fabrique du circuit ACX et associer la fabrique à un appareil WDF. Utilisez la fonction AcxFactoryCircuitInitAllocate pour initialiser la structure ACXFACTORYCIRCUIT_INIT.
Methods
Une structure ACX_METHOD_ITEM qui définit un ensemble de méthodes qui seront utilisées pour l’initialisation du circuit.
MethodsCount
Nombre de méthodes qui seront affectées au circuit. Il s’agit d’un nombre basé sur un seul.
Valeur retournée
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, il retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.
Remarques
Les pilotes doivent uniquement ajouter des méthodes appartenant au pilote.
Exemple
L’exemple d’utilisation est illustré ci-dessous.
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);
Configuration requise d’ACX
Version minimale d’ACX : 1.0
Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | acxcircuit.h |
IRQL | PASSIVE_LEVEL |