Bagikan melalui


Fungsi WdfIoTargetStart (wdfiotarget.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfIoTargetStart mulai mengirim permintaan antrean ke target I/O lokal atau jarak jauh.

Sintaks

NTSTATUS WdfIoTargetStart(
  [in] WDFIOTARGET IoTarget
);

Parameter

[in] IoTarget

Handel ke objek target I/O lokal atau jarak jauh yang diperoleh dari panggilan sebelumnya ke WdfDeviceGetIoTarget atau WdfIoTargetCreate, atau dari metode yang disediakan target I/O khusus.

Nilai kembali

WdfIoTargetStart mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_INVALID_DEVICE_STATE
Perangkat telah dihapus.
 

Metode ini juga dapat mengembalikan nilai NTSTATUS lainnya.

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Jika driver Anda dapat mendeteksi kesalahan perangkat yang dapat dipulihkan, Anda mungkin ingin driver Anda memanggil WdfIoTargetStop untuk menghentikan sementara pengiriman permintaan, kemudian panggil WdfIoTargetStart untuk melanjutkan pengiriman permintaan.

Selain itu, jika driver memanggil WdfUsbTargetPipeConfigContinuousReader untuk mengonfigurasi pembaca berkelanjutan untuk pipa USB, fungsi panggilan balik EvtDeviceD0Entry driver harus memanggil WdfIoTargetStart untuk memulai pembaca.

Driver Anda harus memanggil WdfIoTargetStart dan WdfIoTargetStop secara sinkron. Setelah driver memanggil salah satu fungsi ini, driver tidak boleh memanggil fungsi lain sebelum yang pertama kembali.

Untuk informasi selengkapnya tentang WdfIoTargetStart, lihat Mengontrol Status Target I/O Umum.

Untuk informasi selengkapnya tentang target I/O, lihat Menggunakan Target I/O.

Contoh

Contoh kode berikut menunjukkan bagaimana fungsi panggilan balik EvtDeviceD0Entry dapat memanggil WdfIoTargetStart, jika driver menggunakan pembaca berkelanjutan untuk pipa USB.

NTSTATUS
MyEvtDeviceD0Entry(
    IN  WDFDEVICE Device,
    IN  WDF_POWER_DEVICE_STATE PreviousState
)
{
    PDEVICE_CONTEXT  pDeviceContext;
    NTSTATUS  status;

    pDeviceContext = GetMyDeviceContext(Device);

    status = WdfIoTargetStart(WdfUsbTargetPipeGetIoTarget(pDeviceContext->InterruptPipe));

    return status;
}

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfiotarget.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), FailD0EntryIoTargetState(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

EvtDeviceD0Entry

WdfDeviceGetIoTarget

WdfIoTargetBuat

WdfIoTargetStop

WdfUsbTargetPipeConfigContinuousReader