AcxFactoryCircuitCreate (acxcircuit.h)

Fungsi AcxFactoryCircuitCreate digunakan untuk membuat ACXFACTORYCIRCUIT.

Sintaks

NTSTATUS AcxFactoryCircuitCreate(
  WDFDEVICE               Device,
  PWDF_OBJECT_ATTRIBUTES  Attributes,
  PACXFACTORYCIRCUIT_INIT *Config,
  ACXFACTORYCIRCUIT       *Factory
);

Parameter

Device

Objek WDFDEVICE (dijelaskan dalam Ringkasan Objek Kerangka Kerja) yang akan dikaitkan dengan sirkuit.

Attributes

Atribut Tambahan yang ditentukan menggunakan WDF_OBJECT_ATTRIBUTES yang digunakan untuk mengatur berbagai nilai objek: membersihkan dan menghancurkan panggilan balik, jenis konteks, dan untuk menentukan objek induk WDF-nya.

Config

Struktur ACXFACTORYCIRCUIT_INIT yang menentukan inisialisasi pabrik sirkuit. ACXFACTORYCIRCUIT_INIT adalah objek buram yang digunakan untuk inisialisasi pabrik sirkuit. Gunakan AcxFactoryCircuitInitAllocate untuk menginisialisasi struktur ACXFACTORYCIRCUIT_INIT.

Factory

Penunjuk ke lokasi yang menerima handel ke Objek ACXFACTORYCIRCUIT baru. Untuk informasi selengkapnya tentang objek ACX, lihat Ringkasan Objek ACX.

Menampilkan nilai

Mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika tidak, kode kesalahan akan menampilkan kode kesalahan yang sesuai. Untuk informasi selengkapnya, lihat Menggunakan Nilai NTSTATUS.

Keterangan

ACXFACTORYCIRCUIT digunakan oleh kerangka kerja ACX untuk ACXCIRCUITs 'sesuai permintaan'. ACX akan meminta ACXFACTORYCIRCUIT untuk membuat sirkuit baru ketika titik akhir memerlukannya.

ACXFACTORYCIRCUIT digunakan dalam titik akhir multi-sirkuit. Sirkuit yang dibuat oleh ACXFACTORYCIRCUIT tidak dapat menjadi sirkuit 'inti' untuk titik akhir, yaitu, sirkuit yang memberikan identitas titik akhir.

ACXFACTORYCIRCUIT memiliki antrean WDF khusus. Untuk informasi selengkapnya tentang antrean WDF, lihat Objek Antrean Kerangka Kerja.

Contoh

Contoh penggunaan ditunjukkan di bawah ini.

    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);


Persyaratan ACX

Versi ACX minimum: 1.0

Untuk informasi selengkapnya tentang versi ACX, lihat Gambaran umum versi ACX.

Persyaratan

Persyaratan Nilai
Header acxcircuit.h
IRQL PASSIVE_LEVEL

Lihat juga