Bagikan melalui


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
STATUS_INVALID_PARAMETER
Parameter IoTarget, InterfaceType, atau Interface adalah NULL.
STATUS_INSUFFICIENT_RESOURCES
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)

Lihat juga

ANTARMUKA

WdfDeviceAddQueryInterface

WdfFdoQueryForInterface

WdfIoTargetCreate