SerCx2CustomTransmitCreate (sercx.h)
Metode SerCx2CustomTransmitCreate membuat objek transmisi kustom, yang digunakan ekstensi kerangka kerja serial (SerCx2) versi 2 untuk menulis data pengiriman ke pengontrol serial melalui mekanisme transfer data kustom.
Sintaks
NTSTATUS SerCx2CustomTransmitCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_CUSTOM_TRANSMIT_CONFIG CustomTransmitConfig,
[in] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2CUSTOMTRANSMIT *CustomTransmit
);
Parameter
[in] Device
Handel WDFDEVICE ke objek perangkat kerangka kerja yang mewakili pengontrol serial. Driver pengontrol serial membuat objek ini dalam fungsi panggilan balik EvtDriverDeviceAdd . Untuk informasi selengkapnya, lihat SerCx2InitializeDevice.
[in] CustomTransmitConfig
Penunjuk ke struktur SERCX2_CUSTOM_TRANSMIT_CONFIG . Sebelum memanggil metode ini, pemanggil harus memanggil fungsi SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT untuk menginisialisasi struktur. Struktur ini berisi pointer ke serangkaian rutinitas panggilan balik peristiwa yang diimplementasikan oleh driver pengontrol serial. SerCx2 memanggil fungsi-fungsi ini untuk melakukan transaksi pengiriman kustom.
[in] Attributes
Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang menjelaskan atribut untuk ditetapkan ke objek transmisi kustom baru. Sebelum memanggil metode ini, pemanggil harus memanggil fungsi WDF_OBJECT_ATTRIBUTES_INIT untuk menginisialisasi struktur. Parameter ini bersifat opsional dan dapat ditentukan sebagai WDF_NO_OBJECT_ATTRIBUTES jika driver pengontrol serial tidak perlu menetapkan atribut ke objek. Untuk informasi selengkapnya, lihat Keterangan.
[out] CustomTransmit
Penunjuk ke lokasi tempat metode ini menulis handel SERCX2CUSTOMTRANSMIT ke objek pengiriman kustom yang baru dibuat. SerCx2 dan driver pengontrol serial menggunakan handel ini dalam panggilan berikutnya untuk merujuk ke objek ini.
Nilai kembali
Metode ini mengembalikan STATUS_SUCCESS jika panggilan berhasil. Kemungkinan nilai pengembalian kesalahan menyertakan kode status berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Objek transmisi kustom sudah ada dari panggilan SerCx2CustomTransmitCreate sebelumnya; atau objek transmisi DMA sistem ada dari panggilan SerCx2SystemDmaTransmitCreate sebelumnya; atau objek transmisi DMA sistem ada dari panggilan SerCx2SystemDmaTransmitCreate sebelumnya; atau SerCx2PioTransmitCreate belum dipanggil untuk membuat objek transmisi PIO. |
|
Nilai parameter tidak valid. |
|
NilaiUkuranKonfigurasi-> tidak sama dengan sizeof(SERCX2_CUSTOM_TRANSMIT_CONFIG). |
|
Sumber daya yang tidak mencukup tersedia untuk membuat objek transmisi kustom. |
Keterangan
Metode ini dipanggil oleh driver pengontrol serial untuk membuat objek transmisi kustom. SerCx2 menggunakan objek ini untuk melakukan transaksi pengiriman kustom, yang merupakan transaksi yang menggunakan mekanisme transfer data kustom untuk menulis mengirimkan data ke pengontrol serial.
Driver pengontrol serial harus berhasil memanggil metode SerCx2InitializeDevice dan SerCx2PioTransmitCreate sebelum memanggil SerCx2CustomTransmitCreate.
Sebelum memanggil SerCx2CustomTransmitCreate, driver pengontrol serial harus memanggil fungsi SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT untuk menginisialisasi struktur SERCX2_CUSTOM_TRANSMIT_CONFIG yang ditunjukkan oleh CustomTransmitConfig. Fungsi ini mengatur anggota struktur berikut ke nol:
- Penjajaran
- MinimumTransactionLength
- MaximumTransactionLength
- MinimumTransferUnit
- Eksklusif
- Jika Perataan nol, SerCx2 mengatur nilai perataan data menjadi satu, yang berarti buffer tulis dapat dimulai pada batas byte arbitrer dalam memori.
- Jika MinimumTransactionLength adalah nol, SerCx2 menetapkan panjang transaksi minimum menjadi satu byte.
- Jika MaximumTransactionLength adalah nol, SerCx2 mengatur panjang transaksi maksimum ke ((ULONG)-1).
- Jika MinimumTransferUnit adalah nol, SerCx2 mengatur unit transfer minimum ke satu byte.
- Jika Eksklusif adalah nol (FALSE), mode eksklusif dinonaktifkan.
Sebagai opsi, driver pengontrol serial dapat menggunakan parameter Atribut untuk membuat konteks untuk objek transmisi kustom, dan untuk menyediakan pointer ke fungsi EvtCleanupCallback dan EvtDestroyCallback yang dipanggil untuk menyiapkan objek untuk penghapusan. Untuk informasi selengkapnya, lihat WDF_OBJECT_ATTRIBUTES.
Jika parameter Atribut menunjuk ke struktur WDF_OBJECT_ATTRIBUTES , pemanggil tidak boleh menimpa nilai yang ditulis fungsi inisialisasi WDF_OBJECT_ATTRIBUTES_INIT ke anggota ParentObject, ExecutionLevel, dan SynchronizationScope dari struktur ini.
Untuk informasi selengkapnya tentang membuat objek pengiriman kustom, lihat SERCX2CUSTOMTRANSMIT. Untuk informasi selengkapnya tentang transaksi pengiriman kustom, lihat Transaksi Custom-Transmit SerCx2.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8.1. |
Target Platform | Universal |
Header | sercx.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