Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Struktur HW_INITIALIZATION_DATA menentukan informasi dasar yang dibutuhkan driver kelas untuk mulai menginisialisasi minidriver. Minidriver meneruskan struktur HW_INITIALIZATION_DATA ke driver kelas ketika mendaftarkan dirinya dengan memanggil StreamClassRegisterMinidriver.
Sintaksis
typedef struct _HW_INITIALIZATION_DATA {
union {
ULONG HwInitializationDataSize;
struct {
USHORT SizeOfThisPacket;
USHORT StreamClassVersion;
};
};
ULONG HwInitializationDataSize;
PHW_INTERRUPT HwInterrupt;
PHW_RECEIVE_DEVICE_SRB HwReceivePacket;
PHW_CANCEL_SRB HwCancelPacket;
PHW_REQUEST_TIMEOUT_HANDLER HwRequestTimeoutHandler;
ULONG DeviceExtensionSize;
ULONG PerRequestExtensionSize;
ULONG PerStreamExtensionSize;
ULONG FilterInstanceExtensionSize;
BOOLEAN BusMasterDMA;
BOOLEAN Dma24BitAddresses;
ULONG BufferAlignment;
BOOLEAN TurnOffSynchronization;
ULONG DmaBufferSize;
ULONG NumNameExtensions;
PWCHAR *NameExtensionArray;
ULONG Reserved[2];
} HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA;
Anggota
HwInitializationDataSize
Menentukan ukuran struktur data ini, dalam byte.
SizeOfThisPacket
StreamClassVersion
HwInterrupt
Menunjuk ke rutinitas StrMiniInterrupt minidriver.
HwReceivePacket
Menunjuk ke rutinitas StrMiniReceiveDevicePacket minidriver.
HwCancelPacket
Menunjuk ke rutinitas StrMiniCancelPacket minidriver.
HwRequestTimeoutHandler
Menunjuk ke rutinitas StrMiniRequestTimeout minidriver.
DeviceExtensionSize
Menentukan ukuran dalam byte buffer yang harus dialokasikan driver kelas untuk ekstensi perangkat minidriver. Minidriver dapat menggunakan buffer ini untuk merekam informasi privat. Driver kelas meneruskan pointer ke buffer ini di HwDeviceExtension anggota HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXT, dan struktur PORT_CONFIGURATION_INFORMATION yang diteruskannya ke minidriver.
PerRequestExtensionSize
Menentukan ukuran dalam byte buffer yang harus dialokasikan driver kelas untuk buffer yang diarahkan oleh SRBExtension anggota struktur HW_STREAM_REQUEST_BLOCK yang diteruskannya ke minidriver. Driver kelas akan mengalokasikan satu buffer untuk setiap HW_STREAM_REQUEST_BLOCK.
PerStreamExtensionSize
Menentukan ukuran dalam byte buffer yang harus dialokasikan driver kelas untuk buffer yang diarahkan oleh HwStreamExtension anggota HW_STREAM_OBJECTaliran . Driver kelas akan mengalokasikan satu buffer untuk setiap aliran.
FilterInstanceExtensionSize
Menentukan ukuran dalam byte buffer yang harus dialokasikan ekstensi kelas untuk buffer yang diarahkan oleh HwInstanceExtension anggota struktur HW_STREAM_REQUEST_BLOCK yang diteruskannya ke minidriver. Driver kelas mengalokasikan satu buffer untuk setiap instans minidriver.
BusMasterDMA
Jika TRUE, perangkat dapat melakukan DMA master bus langsung ke buffer DMA minidriver.
Dma24BitAddresses
Minidriver harus mengatur ini ke TRUE jika perangkat keras DMA yang digunakan perangkat hanya dapat mengakses 24 bit ruang alamat yang lebih rendah.
BufferAlignment
Menentukan persyaratan perataan, dalam byte, untuk buffer DMA. Misalnya, nilai 4 menunjukkan buffer DMA harus diselaraskan pada batas 4 byte.
TurnOffSynchronization
Jika TRUE, minidriver akan menangani sinkronisasinya sendiri; jika tidak, driver kelas menangani sinkronisasi. Sebagian besar minidriver harus mengatur nilai ini ke FALSE. Lihat Sinkronisasi Minidriver di Panduan Desain Minidriver Streaming untuk informasi selengkapnya.
DmaBufferSize
Menentukan ukuran dalam byte buffer DMA yang harus dialokasikan driver kelas untuk minidriver. Minidriver mendapatkan penunjuk ke buffer ini dengan memanggil StreamClassGetDmaBuffer. Driver kelas mengalokasikan memori yang tidak dapat dibentuk yang berdekatan yang tidak akan tersedia untuk sistem operasi, atau ke driver lain, sehingga nilai ini harus sesempit mungkin.
NumNameExtensions
NameExtensionArray
Reserved[2]
Dicadangkan untuk penggunaan sistem. Driver mini harus mengabaikan anggota ini.
Persyaratan
| Syarat | Nilai |
|---|---|
| Header | strmini.h (termasuk Strmini.h) |