Fungsi HalSetBusDataByOffset (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 mengatur data konfigurasi bus untuk perangkat pada bus I/O yang dapat dikonfigurasi secara dinamis dengan antarmuka standar yang diterbitkan.
Sintaks
NTHALAPI ULONG HalSetBusDataByOffset(
[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 yang akan diatur. Nilai ini dapat berupa PCIConfiguration. Batas atas pada jenis yang didukung selalu MaximumBusDataType.
[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 ditentukan sebagai 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 ke register di dalam header umum (256byte pertama dari ruang konfigurasi).
[in] Offset
Offset byte dalam struktur PCI_COMMON_CONFIG tempat nilai konfigurasi yang disediakan penelepon dimulai. Penelepon dapat menggunakan PCI_COMMON_HDR_LENGTH konstanta yang ditentukan sistem untuk menentukan area khusus perangkat PCI_COMMON_CONFIG.
[in] Length
Jumlah byte dalam Buffer.
Nilai kembali
Nilai yang dikembalikan adalah panjang aktual yang ditulis ke ruang konfigurasi.
Keterangan
Driver dapat memanggil fungsi ini atau HalSetBusData jika keadaan yang tidak biasa atau sifat perangkatnya memerlukan panggilan seperti itu. Misalnya, driver mungkin memanggil salah satu fungsi ini untuk menghapus sedikit dalam daftar status PCI jika perangkatnya memberi sinyal pembatalan target selama inisialisasi. Biasanya, perangkat keras atau kode startup mengonfigurasi perangkat dengan tepat.
Saat mengakses area khusus perangkat dari ruang konfigurasi PCI, HalSetBusDataByOffset menjamin bahwa fungsi ini tidak pernah membaca atau menulis data di luar rentang yang ditentukan oleh input Offset dan Length dan bahkan jika Panjang input persis byte atau kata dua byte, fungsi ini tidak pernah mengakses data apa pun di luar rentang yang diminta.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntddk.h (termasuk Ntddk.h) |