Bagikan melalui


Fungsi WdfIoTargetCloseForQueryRemove (wdfiotarget.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfIoTargetCloseForQueryRemove untuk sementara menutup target I/O jarak jauh yang ditentukan karena perangkat target mungkin segera dihapus.

Sintaks

void WdfIoTargetCloseForQueryRemove(
  [in] WDFIOTARGET IoTarget
);

Parameter

[in] IoTarget

Handel ke objek target I/O jarak jauh yang diperoleh dari panggilan sebelumnya ke WdfIoTargetCreate.

Nilai kembali

Tidak ada

Keterangan

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

Driver yang menyediakan fungsi panggilan balik EvtIoTargetQueryRemove harus memanggil WdfIoTargetCloseForQueryRemove dari dalam fungsi panggilan balik tersebut, jika driver menentukan bahwa perangkat target dapat dihapus dengan aman.

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

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

Contoh

Contoh kode berikut adalah fungsi panggilan balik EvtIoTargetQueryRemove dari driver sampel Toaster . Fungsi menghentikan timer, memastikan bahwa item kerja yang dikirimkan sebelumnya telah dilayani, lalu memanggil WdfIoTargetCloseForQueryRemove.

NTSTATUS
ToastMon_EvtIoTargetQueryRemove(
    WDFIOTARGET IoTarget
)
{
    PTARGET_DEVICE_INFO  targetDeviceInfo = NULL;

    //
    // Get I/O target object's context space.
    //
    targetDeviceInfo = GetTargetDeviceInfo(IoTarget);

    //
    // Stop the timer and wait for any outstanding work items
    // to finish before closing the target.
    //
    WdfTimerStop(targetDeviceInfo->TimerForPostingRequests, TRUE);
    WdfWorkItemFlush(targetDeviceInfo->WorkItemForPostingRequests);

    WdfIoTargetCloseForQueryRemove(IoTarget);

    return STATUS_SUCCESS;
}

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 PASSIVE_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

EvtIoTargetQueryRemove

WdfIoTargetBuat