Fungsi AtaPortGetUnCachedExtension (irb.h)
Rutinitas AtaPortGetUncachedExtension mengalokasikan buffer umum yang tidak di-cache yang dibagikan oleh CPU dan perangkat.
Sintaks
PVOID AtaPortGetUnCachedExtension(
[in] PVOID ChannelExtension,
[in] ULONG UncachedExtensionSize,
[in] ULONG IrbExtensionSize
);
Parameter
[in] ChannelExtension
Penunjuk ke ekstensi saluran.
[in] UncachedExtensionSize
Menentukan panjang, dalam byte, dari buffer umum yang tidak di-cache. Atur parameter ini ke 0 jika driver miniport tidak memerlukan ekstensi yang tidak di-cache.
[in] IrbExtensionSize
Menentukan ukuran, dalam byte, yang diperlukan oleh driver miniport untuk penyimpanan per permintaannya, jika ada.
Atur parameter ini diatur ke 0 jika driver miniport tidak mempertahankan informasi per IRB yang memerlukan penyimpanan.
Nilai kembali
AtaPortGetUncachedExtension mengembalikan penunjuk alamat virtual ke ekstensi yang tidak di-cache. Jika tidak dapat mengalokasikan memori yang diminta, atau jika memori sebelumnya dialokasikan, memori akan mengembalikan NULL.
Keterangan
Driver miniport dapat menggunakan ekstensi IRB sebagai penyimpanan untuk informasi khusus permintaan yang ditentukan driver, seperti data yang diperlukan untuk memproses permintaan tertentu.
Driver port tidak menginisialisasi ekstensi IRB, tetapi mengatur pointer ke ekstensi di setiap IRB yang dikirimnya ke driver miniport.
Perangkat keras HBA dapat mengakses ekstensi IRB dengan aman.
Driver miniport tidak boleh memanggil AtaPortGetUncachedExtension dari rutinitas apa pun selain rutinitas IdeHwControl-nya , dan hanya ketika memproses tindakan kontrol StartChannel. Panggilan AtaPortGetUncachedExtension dari rutinitas driver miniport lainnya mengakibatkan operasi yang salah atau bahkan kegagalan sistem. Driver port secara otomatis membebaskan ekstensi yang tidak di-cache setelah memanggil IdeHwControl dengan tindakan kontrol StopChannel .
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | irb.h (termasuk Ata.h, Irb.h) |
Pustaka | Ataport.lib; Pciidex.lib |