Bagikan melalui


Fungsi SerCx2PioReceiveCreate (sercx.h)

Metode SerCx2PioReceiveCreateCreate membuat objek penerima PIO, yang digunakan ekstensi kerangka kerja serial (SerCx2) versi 2 untuk melakukan transaksi penerimaan PIO.

Sintaksis

NTSTATUS SerCx2PioReceiveCreate(
  [in]           WDFDEVICE                  Device,
  [in]           PSERCX2_PIO_RECEIVE_CONFIG PioReceiveConfig,
  [in, optional] PWDF_OBJECT_ATTRIBUTES     Attributes,
  [out]          SERCX2PIORECEIVE           *PioReceive
);

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] PioReceiveConfig

Penunjuk ke struktur SERCX2_PIO_RECEIVE_CONFIG. Sebelum memanggil metode ini, pemanggil harus memanggil fungsi SERCX2_PIO_RECEIVE_CONFIG_INIT untuk menginisialisasi struktur. Struktur ini berisi penunjuk ke serangkaian rutinitas panggilan balik peristiwa yang diimplementasikan oleh driver pengontrol serial. SerCx2 memanggil fungsi-fungsi ini untuk melakukan transaksi penerimaan PIO.

[in, optional] Attributes

Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang menjelaskan atribut untuk ditetapkan ke objek penerima 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] PioReceive

Penunjuk ke lokasi tempat metode ini menulis handel SERCX2PIORECEIVE ke objek penerima PIO yang baru dibuat. SerCx2 dan driver pengontrol serial menggunakan handel ini dalam panggilan berikutnya untuk merujuk ke objek ini.

Mengembalikan nilai

Metode ini mengembalikan STATUS_SUCCESS jika panggilan berhasil. Kemungkinan nilai pengembalian kesalahan menyertakan kode status berikut.

Mengembalikan kode Deskripsi
STATUS_INVALID_DEVICE_REQUEST
Objek penerima PIO sudah ada dari panggilan SerCx2PioReceiveCreate sebelumnya.
STATUS_INFO_LENGTH_MISMATCH
Nilai UkuranKonfigurasi tidak sama dengan ukuran dari(SERCX2_PIO_RECEIVE_CONFIG).
STATUS_INVALID_PARAMETER
Kombinasi yang ditentukan dari fungsi panggilan balik yang diimplementasikan tidak valid. Driver harus menerapkan EvtSerCx2PioReceiveReadBuffer, fungsi EvtSerCx2PioReceiveEnableReadyNotification, dan fungsi EvtSerCx2PioReceiveCancelReadyNotification.
STATUS_INSUFFICIENT_RESOURCES
Sumber daya yang tidak mencukup tersedia untuk melakukan operasi yang diminta.

Komentar

Driver pengontrol serial Anda memanggil metode ini untuk membuat objek penerima PIO. SerCx2 menggunakan objek ini untuk melakukan transaksi penerimaan PIO, yang menggunakan I/O (PIO) terprogram untuk membaca data yang diterima oleh pengontrol serial.

Biasanya, driver pengontrol serial memanggil SerCx2PioReceiveCreate dari fungsi EvtDriverDeviceAdd. 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 penerima PIO, dan untuk memasok pointer ke EvtCleanupCallback dan fungsi 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 keParentObject , ExecutionLevel, dan SynchronizationScope anggota struktur ini.

Untuk informasi selengkapnya tentang membuat objek yang diterima PIO, lihat SERCX2PIORECEIVE. Untuk informasi selengkapnya tentang transaksi yang diterima PIO, lihat Transaksi PIO-Receive SerCx2.

Persyaratan

Syarat Nilai
klien minimum yang didukung Tersedia dimulai dengan Windows 8.1.
Platform Target Universal
Header sercx.h
IRQL <= DISPATCH_LEVEL

Lihat juga

EvtCleanupCallback

EvtDestroyCallback

EvtDriverDeviceAdd

SERCX2PIORECEIVE

SERCX2_PIO_RECEIVE_CONFIG

SERCX2_PIO_RECEIVE_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT