AcxFactoryCircuitInitAssignMethods, fonction (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 d’usine de circuit. Il s’agit d’une structure opaque utilisée pour stocker les informations d’initialisation des fabriques de circuit ACX et associer la fabrique à un appareil WDF. Utilisez la fonction AcxFactoryCircuitInitAllocate pour initialiser la structure ACXFACTORYCIRCUIT_INIT.
Methods
Structure ACX_METHOD_ITEM qui définit un ensemble de méthodes qui seront utilisées pour l’initialisation des circuits.
MethodsCount
Nombre de méthodes qui seront affectées au circuit. Il s’agit d’un nombre basé sur un.
Valeur de retour
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.
Remarques
Les pilotes doivent uniquement ajouter des méthodes détenues par le 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 pour ACX
version minimale d’ACX : 1.0
Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | acxcircuit.h |
IRQL | PASSIVE_LEVEL |