Bagikan melalui


Fungsi WdfdoQueryForInterface (wdffdo.h)

[Hanya berlaku untuk KMDF]

Metode WdfFdoQueryForInterface mendapatkan akses ke antarmuka yang diidentifikasi GUID driver lain.

Sintaksis

NTSTATUS WdfFdoQueryForInterface(
  [in]           WDFDEVICE  Fdo,
  [in]           LPCGUID    InterfaceType,
  [out]          PINTERFACE Interface,
  [in]           USHORT     Size,
  [in]           USHORT     Version,
  [in, optional] PVOID      InterfaceSpecificData
);

Parameter-parameternya

[in] Fdo

Handel ke objek perangkat kerangka kerja.

[in] InterfaceType

Penunjuk ke GUID yang mengidentifikasi antarmuka.

[out] Interface

Penunjuk ke struktur yang dialokasikan driver yang menerima antarmuka yang diminta. Struktur ini didefinisikan oleh driver yang mengekspor antarmuka yang diminta dan harus dimulai dengan struktur ANTARMUKA.

[in] Size

Ukuran, dalam byte, dari struktur yang dialokasikan driver yang mewakili antarmuka yang diminta.

[in] Version

Nomor versi antarmuka yang diminta. Format nilai ini ditentukan oleh driver yang mengekspor antarmuka yang diminta.

[in, optional] InterfaceSpecificData

Informasi khusus antarmuka tambahan. Parameter ini bersifat opsional dan dapat NULL.

Mengembalikan nilai

Jika operasi berhasil, metode akan mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:

Mengembalikan kode Deskripsi
STATUS_INVALID_PARAMETER
Objek perangkat tidak valid atau jika parameter Perangkat, InterfaceType, , atau InterfaceNULL.
STATUS_sumber_DAYA_TIDAK_MEMADAI
Kerangka kerja tidak dapat mengalokasikan permintaan untuk dikirim ke driver lain.
 

Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.

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

Komentar

Driver Anda dapat memanggil WdfFdoQueryForInterface untuk mendapatkan akses ke antarmuka yang ditentukan driver yang dibuat oleh driver yang berada di tumpukan driver yang sama dengan tempat driver Anda berada. Untuk mengakses antarmuka yang ditentukan driver yang dibuat oleh driver yang berada di tumpukan driver yang berbeda, driver Anda harus memanggil WdfIoTargetQueryForInterface.

Driver berbasis kerangka kerja menentukan antarmuka dengan memanggil WdfDeviceAddQueryInterface.

Untuk informasi selengkapnya tentang WdfFdoQueryForInterface, lihat Menggunakan Antarmuka Driver-Defined.

Contoh

Contoh kode berikut berasal dari Toaster contoh driver fungsi. Contoh ini mendapatkan akses ke antarmuka yang ditentukan driver bus sampel pemanggih.

status = WdfFdoQueryForInterface(
                                 Device,
                                 &GUID_TOASTER_INTERFACE_STANDARD,
                                 (PINTERFACE) &fdoData->BusInterface, // Object context space
                                 sizeof(TOASTER_INTERFACE_STANDARD),
                                 1,
                                 NULL
                                 );

Persyaratan

Persyaratan Nilai
Platform Target Universal
versi KMDF Minimum 1.0
Tajuk wdffdo.h (termasuk Wdf.h)
Perpustakaan Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL PASSIVE_LEVEL
aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

WdfIoTargetQueryForInterface