Fungsi HalGetBusDataByOffset (ntddk.h)

Peringatan

HalGetBusDataByOffset dan HalSetBusDataByOffset disediakan untuk kompatibilitas mundur tetapi harus digunakan hanya jika metode yang direkomendasikan dalam Mengakses Ruang Konfigurasi Perangkat tidak dapat digunakan.

Fungsi ini mengambil informasi, mulai dari offset, tentang slot atau alamat pada bus I/O.

Sintaks

NTHALAPI ULONG HalGetBusDataByOffset(
  [in] BUS_DATA_TYPE BusDataType,
  [in] ULONG         BusNumber,
  [in] ULONG         SlotNumber,
  [in] PVOID         Buffer,
  [in] ULONG         Offset,
  [in] ULONG         Length
);

Parameter

[in] BusDataType

Data bus untuk diambil. Batas atas pada jenis bus yang didukung selalu MaximumBusDataType. Satu-satunya BusDataType yang didukung adalah PCIConfiguration Semua jenis lainnya tidak digunakan lagi.

[in] BusNumber

Jumlah bus berbasis nol dan yang ditetapkan sistem dalam sistem dengan beberapa bus dengan BusDataType yang sama. Argumen ini juga membawa nomor segmen. Untuk menentukan nomor segmen, gunakan (Segmen << 8) | BusNumber

[in] SlotNumber

Nomor slot logis atau lokasi perangkat. Jika Anda menentukan PCIConfiguration sebagai BusDataType, nilai ini adalah nilai PCI_SLOT_NUMBER, yang merupakan slot dan angka fungsi yang digabungkan.

[in] Buffer

Penunjuk ke buffer yang disediakan penelepon untuk informasi konfigurasi khusus untuk BusDataType.

Jika Anda menentukan PCIConfiguration, buffer berisi informasi ruang konfigurasi PCI untuk SlotNumber dan nomor fungsi yang ditentukan. Offset dan Panjang yang ditentukan menentukan berapa banyak informasi yang akan disuplai. Anggota tertentu dari ruang konfigurasi PCI memiliki nilai baca-saja Pemanggil bertanggung jawab untuk mempertahankan nilai yang disediakan sistem dari anggota baca-saja. Perhatikan bahwa untuk perangkat PCI Tipe-1, HalSetBusDataByOffset mencegah penulisan untuk mendaftar di dalam header umum (256byte pertama dari ruang konfigurasi).

[in] Offset

Offset byte dalam struktur PCI_COMMON_CONFIG yang informasi yang diminta harus dikembalikan. Penelepon dapat menggunakan PCI_COMMON_HDR_LENGTH konstanta yang ditentukan sistem untuk menentukan area PCI_COMMON_CONFIG khusus perangkat.

[in] Length

Jumlah maksimum byte dalam Buffer.

Nilai kembali

Nilai yang dikembalikan adalah panjang aktual yang dibaca dari ruang konfigurasi.

Keterangan

Driver perangkat memanggil fungsi ini selama inisialisasi untuk menemukan perangkat mereka pada bus I/O tertentu. Anda dapat menggunakan data konfigurasi khusus jenis bus yang dikembalikan dalam panggilan nanti ke fungsi konfigurasi dan inisialisasi lain, seperti HalTranslateBusAddress.

Saat mengakses area khusus perangkat dari ruang konfigurasi PCI, HalGetBusDataByOffset menjamin bahwa fungsi ini tidak pernah membaca atau menulis data di luar rentang yang ditentukan oleh input Offset dan Panjang. Bahkan jika Panjang input persis kata 1-byte atau 2-byte, fungsi ini tidak pernah mengakses data apa pun di luar rentang yang diminta.

Persyaratan

Persyaratan Nilai
Header ntddk.h (termasuk Ntddk.h)

Lihat juga

BUS_DATA_TYPE

HalGetBusData

HalSetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG