SerCx2PioTransmitCreate (sercx.h)
Metode SerCx2PioTransmitCreate membuat objek transmisi PIO, yang digunakan ekstensi kerangka kerja serial (SerCx2) versi 2 untuk melakukan transaksi transmisi PIO.
Sintaks
NTSTATUS SerCx2PioTransmitCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_TRANSMIT_CONFIG PioTransmitConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIOTRANSMIT *PioTransmit
);
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] PioTransmitConfig
Penunjuk ke struktur SERCX2_PIO_TRANSMIT_CONFIG . Sebelum memanggil metode ini, pemanggil harus memanggil fungsi SERCX2_PIO_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 transmisi PIO.
[in, optional] Attributes
Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang menjelaskan atribut untuk ditetapkan ke objek transmisi PIO 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] PioTransmit
Penunjuk ke lokasi tempat metode ini menulis handel SERCX2PIOTRANSMIT ke objek transmisi PIO 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 PIO sudah ada dari panggilan SerCx2PioTransmitCreate sebelumnya. |
|
NilaiUkuranKonfigurasi-> tidak sama dengan sizeof(SERCX2_PIO_TRANSMIT_CONFIG). |
|
Kombinasi fungsi panggilan balik yang diimplementasikan yang ditentukan tidak valid. Driver harus mengimplementasikan fungsi EvtSerCx2PioTransmitWriteBuffer, EvtSerCx2PioTransmitEnableReadyNotification, dan EvtSerCx2PioTransmitCancelReadyNotification . Driver harus mengimplementasikan ketiganya atau tidak satu pun dari fungsi EvtSerCx2PioTransmitDrainFifo, EvtSerCx2PioTransmitCancelDrainFifo, dan EvtSerCx2PioTransmitPurgeFifo . |
|
Sumber daya yang tidak mencukup tersedia untuk melakukan operasi yang diminta. |
Keterangan
Driver pengontrol serial Anda memanggil metode ini untuk membuat objek transmisi PIO. SerCx2 menggunakan objek ini untuk melakukan transaksi transmisi PIO, yang merupakan transaksi yang menggunakan I/O (PIO) terprogram untuk menulis data ke pengontrol serial yang akan ditransmisikan.
Biasanya, driver pengontrol serial memanggil SerCx2PioTransmitCreate dari fungsi EvtDriverDeviceAdd-nya . Driver harus memanggil metode ini hanya setelah berhasil memanggil metode SerCx2InitializeDevice .
Sebagai opsi, driver pengontrol serial dapat menggunakan parameter Atribut untuk membuat konteks untuk objek transmisi PIO, dan untuk menyediakan pointer ke fungsi EvtCleanupCallback dan EvtDestroyCallback yang dipanggil untuk menyiapkan objek untuk dihapus. 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 transmisi PIO, lihat SERCX2PIOTRANSMIT. Untuk informasi selengkapnya tentang operasi pengiriman PIO, lihat SerCx2 PIO-Transmit Transactions.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8.1. |
Target Platform | Universal |
Header | sercx.h |
IRQL | <= DISPATCH_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