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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk