AcxFactoryCircuitCreate-Funktion (acxcircuit.h)
Die AcxFactoryCircuitCreate-Funktion wird verwendet, um eine ACXFACTORYCIRCUIT zu erstellen.
Syntax
NTSTATUS AcxFactoryCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXFACTORYCIRCUIT_INIT *Config,
ACXFACTORYCIRCUIT *Factory
);
Parameter
Device
Ein WDFDEVICE-Objekt (beschrieben in Zusammenfassung der Frameworkobjekte), das der Verbindung zugeordnet wird.
Attributes
Zusätzliche Attribute, die mithilfe einer WDF_OBJECT_ATTRIBUTES definiert werden, die zum Festlegen der Werte des verschiedenen Objekts verwendet werden: Bereinigen und Zerstören von Rückrufen, Kontexttyp und angeben des übergeordneten WDF-Objekts.
Config
Die ACXFACTORYCIRCUIT_INIT Struktur, die die Initialisierung der Circuit Factory definiert. ACXFACTORYCIRCUIT_INIT ist ein undurchsichtiges Objekt, das für die Initialisierung der Verbindungsfactory verwendet wird. Verwenden Sie AcxFactoryCircuitInitAllocate , um die ACXFACTORYCIRCUIT_INIT-Struktur zu initialisieren.
Factory
Ein Zeiger auf eine Position, die ein Handle auf das neue ACXFACTORYCIRCUIT-Objekt empfängt. Weitere Informationen zu ACX-Objekten finden Sie unter Zusammenfassung von ACX-Objekten.
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
Der ACXFACTORYCIRCUIT wird vom ACX-Framework für "on-demand" ACXCIRCUITs verwendet. ACX fordert den ACXFACTORYCIRCUIT auf, eine neue Verbindung zu erstellen, wenn ein Endpunkt eine erfordert.
Der ACXFACTORYCIRCUIT wird in einem Endpunkt mit mehreren Leitungen verwendet. Eine von einer ACXFACTORYCIRCUIT erstellte Verbindung kann nicht die "Kernschaltung" für den Endpunkt sein, d. h. die Verbindung, die die Endpunktidentität bereitstellt.
Ein ACXFACTORYCIRCUIT verfügt über eine dedizierte WDF-Warteschlange. Weitere Informationen zu WDF-Warteschlangen finden Sie unter Framework-Warteschlangenobjekte.
Beispiel
Das Beispiel für die Verwendung ist unten dargestellt.
NTSTATUS status;
WDF_OBJECT_ATTRIBUTES attributes;
ACXFACTORYCIRCUIT factory;
PACXFACTORYCIRCUIT_INIT factoryInit = NULL;
SDCAXU_FACTORYCIRCUIT_CONTEXT * factoryCtx;
ACX_FACTORY_CIRCUIT_OPERATION_CALLBACKS operationCallbacks;
//
// Get a FactoryCircuitInit structure.
//
factoryInit = AcxFactoryCircuitInitAllocate(Device);
//
// Add factory identifiers.
//
AcxFactoryCircuitInitSetComponentId(factoryInit, &SDCAXU_FACTORY_GUID);
AcxFactoryCircuitInitAssignCategories(factoryInit, &SDCAXU_FACTORY_CATEGORY, 1);
AcxFactoryCircuitInitAssignName(factoryInit, &s_FactoryName);
//
// Assign the circuit's operation-callbacks.
//
ACX_FACTORY_CIRCUIT_OPERATION_CALLBACKS_INIT(&operationCallbacks);
operationCallbacks.EvtAcxFactoryCircuitCreateCircuitDevice = SdcaXu_EvtAcxFactoryCircuitCreateCircuitDevice;
operationCallbacks.EvtAcxFactoryCircuitCreateCircuit = SdcaXu_EvtAcxFactoryCircuitCreateCircuit;
AcxFactoryCircuitInitSetOperationCallbacks(factoryInit, &operationCallbacks);
//
// Create the factory circuit.
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, SDCAXU_FACTORYCIRCUIT_CONTEXT);
attributes.ParentObject = Device;
status = AcxFactoryCircuitCreate(Device, &attributes, &factoryInit, &factory);
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 |