Freigeben über


HW_INITIALIZATION_DATA Struktur (strmini.h)

Die HW_INITIALIZATION_DATA Struktur gibt die grundlegenden Informationen an, die der Klassentreiber zum Initialisieren des Minidrivers benötigt. Der Minidriver übergibt eine HW_INITIALIZATION_DATA Struktur an den Klassentreiber, wenn er sich selbst registriert, indem StreamClassRegisterMinidriveraufgerufen wird.

Syntax

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;

Angehörige

HwInitializationDataSize

Gibt die Größe dieser Datenstruktur in Byte an.

SizeOfThisPacket

StreamClassVersion

HwInterrupt

Verweist auf die StrMiniInterrupt Routine des Minidrivers.

HwReceivePacket

Verweist auf die StrMiniReceiveDevicePacket Routine des Minidrivers.

HwCancelPacket

Verweist auf die StrMiniCancelPacket Routine des Minidrivers.

HwRequestTimeoutHandler

Verweist auf die StrMiniRequestTimeout Routine des Minidrivers.

DeviceExtensionSize

Gibt die Größe in Bytes des Puffers an, die der Klassentreiber für die Geräteerweiterung des Minidrivers zuordnen soll. Der Minidriver kann diesen Puffer verwenden, um private Informationen aufzuzeichnen. Der Klassentreiber übergibt Zeiger an diesen Puffer in der HwDeviceExtension Member von HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXTund PORT_CONFIGURATION_INFORMATION Strukturen, die an den Minidriver übergeben werden.

PerRequestExtensionSize

Gibt die Größe in Byte des Puffers an, auf den der Klassentreiber für den Puffer zuordnen soll, auf den SRBExtension Member von HW_STREAM_REQUEST_BLOCK Strukturen verweist, die an den Minidriver übergeben werden. Der Klassentreiber weist für jede HW_STREAM_REQUEST_BLOCK einen Puffer zu.

PerStreamExtensionSize

Gibt die Größe in Byte des Puffers an, die der Klassentreiber für den Puffer zuordnen soll, auf den der HwStreamExtension Member des HW_STREAM_OBJECTeines Datenstroms verweist. Der Klassentreiber weist einen Puffer für jeden Datenstrom zu.

FilterInstanceExtensionSize

Gibt die Größe in Byte des Puffers an, den die Klassenerweiterung für den Puffer zuordnen soll, auf den der HwInstanceExtension Member von HW_STREAM_REQUEST_BLOCK Strukturen verweist, die an den Minidriver übergeben werden. Der Klassentreiber weist für jede Instanz des Minidrivers einen Puffer zu.

BusMasterDMA

Wenn TRUE-, kann das Gerät den DMA-Direct Bus-Master-DMA für den DMA-Puffer des Minidrivers ausführen.

Dma24BitAddresses

Minidriver sollten dies auf TRUE- festlegen, wenn die von den Geräten verwendete DMA-Hardware nur auf die niedrigeren 24 Bit des Adressraums zugreifen kann.

BufferAlignment

Gibt die Ausrichtungsanforderung in Bytes für DMA-Puffer an. Beispielsweise gibt ein Wert von 4 an, dass die DMA-Puffer an 4-Byte-Begrenzungen ausgerichtet werden sollen.

TurnOffSynchronization

Wenn TRUE-, verarbeitet der Minidriver seine eigene Synchronisierung; andernfalls behandelt der Klassentreiber die Synchronisierung. Die meisten Minidriver sollten diesen Wert auf FALSE-festlegen. Weitere Informationen finden Sie in Minidriver-Synchronisierungsanleitung im Design handbuch für Streaming-Minidriver.

DmaBufferSize

Gibt die Größe in Bytes des DMA-Puffers an, die der Klassentreiber für den Minidriver zuordnen soll. Der Minidriver ruft einen Zeiger auf diesen Puffer ab, indem StreamClassGetDmaBufferaufgerufen wird. Der Klassentreiber weist zusammenhängenden nicht seitenseitigen Arbeitsspeicher zu, der nicht für das Betriebssystem oder für andere Treiber verfügbar ist, sodass dieser Wert so klein wie möglich sein sollte.

NumNameExtensions

NameExtensionArray

Reserved[2]

Reserviert für die Systemverwendung. Minidriver sollten dieses Mitglied ignorieren.

Anforderungen

Anforderung Wert
Header- strmini.h (einschließlich Strmini.h)