struktur BUS_INTERFACE_SWENUM (swenum.h)

Struktur BUS_INTERFACE_SWENUM menjelaskan antarmuka objek enumerator bus beban permintaan.

Sintaks

typedef struct _BUS_INTERFACE_SWENUM {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;

Anggota

Interface

Menentukan ANTARMUKA yang diekspor.

ReferenceDeviceObject

Pointer ke rutinitas KsReferenceSoftwareBusObject yang disediakan driver.

DereferenceDeviceObject

Pointer ke rutinitas KsDereferenceSoftwareBusObject yang disediakan driver.

QueryReferenceString

Pointer ke rutinitas KsQuerySoftwareBusInterface yang disediakan driver.

Keterangan

Driver mendapatkan antarmuka BUS_INTERFACE_SWENUM dengan membuat dan mengirim permintaan IRP_MJ_PNP yang menentukan kode fungsi minor IRP_MN_QUERY_INTERFACE . Untuk melakukan ini, driver harus:

  • Alokasikan dan isi nol struktur BUS_INTERFACE_SWENUM dari kumpulan memori halaman.
  • Buat IRP untuk permintaan antarmuka kueri dan dapatkan lokasi tumpukan berikutnya untuk IRP baru.
  • Di lokasi tumpukan baru, berikan penunjuk ke struktur BUS_INTERFACE_SWENUM baru di anggota Parameters.QueryInterface.Interface .
  • Atur rutinitas penyelesaian dan kirim permintaan ke tumpukan driver.
  • Jika permintaan Anda berhasil, sistem mengisi struktur BUS_INTERFACE_SWENUM yang ditunjukkan oleh Parameters.QueryInterface.Interface.

Persyaratan

Persyaratan Nilai
Header swenum.h (termasuk Swenum.h)