AcxFactoryCircuitInitAssignMethods-Funktion (acxcircuit.h)
Die AcxFactoryCircuitInitAssignMethods-Funktion weist dem ACXFACTORYCIRCUIT eine oder mehrere ACX-Methoden zu.
Syntax
NTSTATUS AcxFactoryCircuitInitAssignMethods(
PACXFACTORYCIRCUIT_INIT FactoryInit,
PACX_METHOD_ITEM Methods,
ULONG MethodsCount
);
Parameter
FactoryInit
Eine ACXFACTORYCIRCUIT_INIT-Struktur, die für die Initialisierung der Verbindungsfactory verwendet wird. Dies ist eine undurchsichtige Struktur, die verwendet wird, um AcX Circuit Factory-Initialisierungsinformationen zu speichern und die Factory einem WDF-Gerät zuzuordnen. Verwenden Sie die AcxFactoryCircuitInitAllocate-Funktion , um die ACXFACTORYCIRCUIT_INIT-Struktur zu initialisieren.
Methods
Eine ACX_METHOD_ITEM-Struktur , die einen Satz von Methoden definiert, die für die Verbindungsinitialisierung verwendet werden.
MethodsCount
Die Anzahl der Methoden, die der Verbindung zugewiesen werden. Dies ist eine einsbasierte Anzahl.
Rückgabewert
Gibt zurück STATUS_SUCCESS
, wenn der Aufruf erfolgreich war. Andernfalls wird ein geeigneter Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.
Hinweise
Treiber sollten nur treibereigene Methoden hinzufügen.
Beispiel
Das Beispiel für die Verwendung ist unten dargestellt.
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-Anforderungen
ACX-Mindestversion: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
Anforderung | Wert |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |