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)

Lihat juga

BUS_DATA_TYPE

HalGetBusData

HalGetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG