共用方式為


HW_INITIALIZATION_DATA結構(strmini.h)

HW_INITIALIZATION_DATA 結構會指定類別驅動程序開始初始化 minidriver 的基本資訊。 minidriver 會在呼叫 StreamClassRegisterMinidriver 呼叫時,將HW_INITIALIZATION_DATA結構傳遞給類別驅動程式。

語法

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;

成員

HwInitializationDataSize

指定這個數據結構的大小,以位元組為單位。

SizeOfThisPacket

StreamClassVersion

HwInterrupt

指向迷你驅動程式的 StrMiniInterrupt 例程。

HwReceivePacket

指向 minidriver 的 StrMiniReceiveDevicePacket 例程。

HwCancelPacket

指向迷你驅動程式的 StrMiniCancelPacket 例程。

HwRequestTimeoutHandler

指向迷你驅動程式的 StrMiniRequestTimeout 例程。

DeviceExtensionSize

指定類別驅動程式應配置給minidriver裝置擴充功能的緩衝區大小,以位元組為單位。 迷你驅動程式可以使用這個緩衝區來記錄私人資訊。 類別驅動程式會將指標傳遞至 HwDeviceExtension 中HW_STREAM_OBJECTHW_STREAM_REQUEST_BLOCKHW_TIME_CONTEXTPORT_CONFIGURATION_INFORMATION 結構中的這個緩衝區。

PerRequestExtensionSize

指定類別驅動程式應該配置給 SRBExtension 所指向之緩衝區的位元組大小, 它傳遞給minidriver之 HW_STREAM_REQUEST_BLOCK 結構的成員。 類別驅動程式會為每個HW_STREAM_REQUEST_BLOCK配置一個緩衝區。

PerStreamExtensionSize

指定類別驅動程式應該配置給 HwStreamExtension 所指向之緩衝區的位元組大小, 數據流 HW_STREAM_OBJECT的成員。 類別驅動程式會為每個數據流配置一個緩衝區。

FilterInstanceExtensionSize

指定類別延伸模組應該配置給 HwInstanceExtension 所指向之緩衝區的位元組大小, 傳遞給minidriver之 HW_STREAM_REQUEST_BLOCK 結構的成員。 類別驅動程式會為每個minidriver實例配置一個緩衝區。

BusMasterDMA

如果 TRUE,裝置可以執行直接總線主要 DMA 到迷你驅動程式的 DMA 緩衝區。

Dma24BitAddresses

如果裝置使用的 DMA 硬體只能存取較低的 24 位位址空間,Minidrivers 應將此設定為 TRUE

BufferAlignment

指定 DMA 緩衝區的對齊需求,以位元組為單位。 例如,值為 4 表示 DMA 緩衝區應該對齊 4 位元組界限。

TurnOffSynchronization

如果 TRUE,迷你驅動程式會處理自己的同步處理;否則,類別驅動程式會處理同步處理。 大部分的迷你驅動程式都應該將此值設定為 FALSE。 如需詳細資訊,請參閱 串流迷你驅動程序設計指南 中的 Minidriver 同步處理

DmaBufferSize

指定類別驅動程式應配置給minidriver的 DMA 緩衝區位元組大小。 minidriver 會呼叫 StreamClassGetDmaBuffer 來取得這個緩衝區的指標。 類別驅動程式會配置無法供作系統或其他驅動程式使用的連續不可分頁記憶體,因此此值應盡可能小。

NumNameExtensions

NameExtensionArray

Reserved[2]

保留供系統使用。 Minidrivers 應該忽略這個成員。

要求

要求 價值
標頭 strmini.h (包括 Strmini.h)