Fungsi WdfFdoQueryForInterface (wdffdo.h)

[Hanya berlaku untuk KMDF]

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

Sintaks

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

Parameter

[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 INTERFACE .

[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 berupa NULL.

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Objek perangkat tidak valid atau jika parameter Device, InterfaceType, atau Interface adalah NULL.
STATUS_INSUFFICIENT_RESOURCES
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 memasok handel objek yang tidak valid.

Keterangan

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 driver fungsi sampel Toaster . Contoh ini mendapatkan akses ke antarmuka yang ditentukan driver bus sampel pemangsa.

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

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdffdo.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

WdfIoTargetQueryForInterface