Fungsi WdfIoTargetQueryForInterface (wdfiotarget.h)
[Berlaku untuk KMDF saja]
Metode WdfIoTargetQueryForInterface mendapatkan akses ke antarmuka yang diidentifikasi GUID dan ditentukan driver dari target I/O jarak jauh.
Sintaks
NTSTATUS WdfIoTargetQueryForInterface(
[in] WDFIOTARGET IoTarget,
[in] LPCGUID InterfaceType,
[out] PINTERFACE Interface,
[in] USHORT Size,
[in] USHORT Version,
[in, optional] PVOID InterfaceSpecificData
);
Parameter
[in] IoTarget
Handel ke objek target I/O jarak jauh yang diperoleh dari panggilan sebelumnya ke WdfIoTargetCreate.
[in] InterfaceType
Pointer ke GUID yang mengidentifikasi antarmuka.
[out] Interface
Penunjuk ke struktur yang dialokasikan driver yang menerima antarmuka yang diminta. Struktur ini ditentukan oleh driver yang mengekspor antarmuka yang diminta dan harus dimulai dengan struktur INTERFACE .
[in] Size
Ukuran, dalam byte, dari struktur yang dialokasikan driver yang dirujuk Antarmuka .
[in] Version
Nomor versi antarmuka yang diminta. Driver yang mengekspor antarmuka yang diminta menentukan format nilai ini.
[in, optional] InterfaceSpecificData
Informasi khusus antarmuka tambahan. Parameter ini bersifat opsional dan dapat berupa NULL.
Mengembalikan nilai
WdfIoTargetQueryForInterface mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Parameter IoTarget, InterfaceType, atau Interface adalah NULL. |
|
kerangka kerja tidak dapat mengalokasikan permintaan untuk dikirim ke driver lain. |
Metode ini juga mungkin mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Driver Anda dapat memanggil WdfIoTargetQueryForInterface untuk mendapatkan akses ke antarmuka yang ditentukan driver yang dibuat oleh driver di tumpukan driver yang berbeda. Untuk mengakses antarmuka yang ditentukan driver yang dibuat oleh driver yang berada di tumpukan driver yang sama dengan driver Anda, driver Anda harus memanggil WdfFdoQueryForInterface.
Driver berbasis kerangka kerja menentukan antarmuka dengan memanggil WdfDeviceAddQueryInterface. Untuk informasi selengkapnya tentang antarmuka yang ditentukan driver, lihat Menggunakan Antarmuka Driver-Defined.
Contoh
Contoh kode berikut mencoba mendapatkan akses ke antarmuka target I/O jarak jauh tertentu. GUID_RAWPDO_INTERFACE_STANDARD adalah GUID yang mengidentifikasi antarmuka.
NTSTATUS status;
RAWPDO_INTERFACE_STANDARD busInterface;
status = WdfIoTargetQueryForInterface(
IoTarget,
&GUID_RAWPDO_INTERFACE_STANDARD,
(PINTERFACE) &busInterface,
sizeof(RAWPDO_INTERFACE_STANDARD),
1,
NULL
);
if (!NT_SUCCESS (status)){
return status;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdfiotarget.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |