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) |