SCSI_ADAPTER_CONTROL_TYPE-Enumeration (storport.h)
Die SCSI_ADAPTER_CONTROL_TYPE-Enumeration enthält Adaptersteuerungsvorgänge, bei denen jeder Steuerelementtyp eine Aktion für einen Adapter durch den Miniporttreiber initiiert. Storport gibt den Steuerelementtyp an, wenn die HwStorAdapterControl-Routine eines Miniports aufgerufen wird.
Syntax
typedef enum _SCSI_ADAPTER_CONTROL_TYPE {
ScsiQuerySupportedControlTypes,
ScsiStopAdapter,
ScsiRestartAdapter,
ScsiSetBootConfig,
ScsiSetRunningConfig,
ScsiPowerSettingNotification,
ScsiAdapterPower,
ScsiAdapterPoFxPowerRequired,
ScsiAdapterPoFxPowerActive,
ScsiAdapterPoFxPowerSetFState,
ScsiAdapterPoFxPowerControl,
ScsiAdapterPrepareForBusReScan,
ScsiAdapterSystemPowerHints,
ScsiAdapterFilterResourceRequirements,
ScsiAdapterPoFxMaxOperationalPower,
ScsiAdapterPoFxSetPerfState,
ScsiAdapterSurpriseRemoval,
ScsiAdapterSerialNumber,
ScsiAdapterCryptoOperation,
ScsiAdapterQueryFruId,
ScsiAdapterSetEventLogging,
ScsiAdapterReportInternalData,
ScsiAdapterResetBusSynchronous,
ScsiAdapterPostHwInitialize,
ScsiAdapterPrepareEarlyDumpData,
ScsiAdapterRestoreEarlyDumpData,
ScsiAdapterControlMax,
MakeAdapterControlTypeSizeOfUlong
} SCSI_ADAPTER_CONTROL_TYPE, *PSCSI_ADAPTER_CONTROL_TYPE;
Konstanten
ScsiQuerySupportedControlTypes Meldet die vom Miniporttreiber implementierten Adaptersteuerungsvorgänge. Ein Miniport muss diesen Steuerelementtyp unterstützen. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf eine SCSI_SUPPORTED_CONTROL_TYPE_LIST-Struktur nach der Initialisierung des HBA, aber vor der ersten E/A-Instanz auf. Der Miniporttreiber füllt die SCSI_SUPPORTED_CONTROL_TYPE_LIST-Struktur mit den unterstützten Vorgängen aus. Nachdem HwStorAdapterControl von diesem Aufruf zurückgegeben wurde, ruft der Storport-Treiber das HwStorAdapterControl des Miniporttreibers nur für Vorgänge auf, die vom Miniport unterstützt werden. |
ScsiStopAdapter Fährt den HBA herunter. Ein Miniport muss diesen Steuerelementtyp unterstützen. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerungstyp (und Parameter auf NULL) auf, wenn der HBA aus dem System entfernt, zur Neukonfiguration von Ressourcen beendet, für die Energieverwaltung heruntergefahren oder anderweitig neu konfiguriert oder deaktiviert wurde. Storport stellt sicher, dass keine nicht abgeschlossenen Anforderungen vorhanden sind, und stellt eine SRB_FUNCTION_FLUSH Anforderung an den Miniporttreiber aus, bevor diese Routine aufgerufen wird. Der Miniporttreiber deaktiviert Unterbrechungen für seinen HBA, stoppt die gesamte Verarbeitung (einschließlich der Hintergrundverarbeitung, die nicht Unterbrechungen unterliegt oder deren Verarbeitung dem Storport-Treiber nicht bekannt ist, z. B. das Rekonstruieren fehlertoleranter Volumes), löscht alle verbleibenden zwischengespeicherten Daten in persistenten Speicher und versetzt den HBA in einen Zustand, aus dem er neu initialisiert oder neu gestartet werden kann. Der Miniporttreiber sollte seine Ressourcen nicht freigeben, wenn er seinen HBA beendet. Wenn der HBA für die Neukonfiguration von PnP-Ressourcen entfernt oder beendet wurde, gibt der Storport-Treiber Ressourcen im Namen des Miniporttreibers frei. Wenn der HBA für die Energieverwaltung heruntergefahren wird, werden die Ressourcen des Miniporttreibers beibehalten, sodass der HBA neu gestartet werden kann. Nachdem HwStorAdapterControl den HBA beendet hat, sollten alle Datenstrukturen, die im Auftrag des Miniporttreibers für den HBA zugewiesen wurden, als ungültig gelten, bis der Miniporttreiber zum Neustart aufgefordert wird. Beachten Sie, dass Storport möglicherweise HwStorAdapterControl aufruft, um den Adapter zu beenden, nachdem der HBA bereits physisch aus dem System entfernt wurde, sodass die HwStorAdapterControl-Routine des Miniporttreibers keine Vorgänge ausführen darf, die erfordern, dass der HBA physisch vorhanden ist, während er den HBA beendet. Der Miniporttreiber wird für den HBA erst erneut aufgerufen, wenn entweder der PnP-Manager das Starten des HBA anfordert. In diesem Fall initialisiert der Storport-Treiber (re)initialisiert, indem er seine HwStorAdapterControl - und HwStorInitialize-Routine aufruft, oder ein für die Energieverwaltung beendeter HBA wird eingeschaltet. In diesem Fall ruft der Storport-Treiber die HwStorAdapterControl-Routine des Miniport-Treibers mit ScsiRestartAdapterAdapter auf . oder, wenn der Miniporttreiber diesen Steuerelementtyp nicht implementiert, wiederholt die Initialisierungssequenz für den HBA. |
ScsiRestartAdapter Initialisiert einen HBA erneut. Ein Miniport muss diesen Steuerelementtyp unterstützen. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerungstyp (und Parameter auf NULL) auf, um einen HBA hochzufahren, der für die Energieverwaltung heruntergefahren wurde. Alle Ressourcen, die zuvor dem Miniporttreiber zugewiesen wurden, sind weiterhin verfügbar, und die Geräteerweiterungen und logischen Einheitenerweiterungen (sofern vorhanden) sind intakt. Der Miniporttreiber führt dieselben Vorgänge wie in seiner HwStorInitialize-Routine aus, z. B. das Einrichten der HBA-Register und des Anfangszustands( falls vorhanden). Der Miniporttreiber darf keine Routinen aufrufen, die nur von HwStorFindAdapter oder von HwStorAdapterControl aufgerufen werden können, wenn der Steuerelementtyp ScsiSetRunningConfig ist, z. B. StorPortGetBusData und StorPortSetBusDataByOffset. Wenn der Miniporttreiber solche Routinen aufrufen muss, um seinen HBA neu zu starten, muss er auch ScsiSetRunningConfig implementieren. Wenn der Miniporttreiber ScsiRestartAdapter nicht implementiert, ruft der Storport-Treiber die Routinen HwStorFindAdapter und HwStorInitialize des Miniporttreibers auf. Da solche Routinen jedoch erkennungsnotwendige Arbeit für den Neustart des HBA ausführen können, wird ein solcher Miniporttreiber seinen HBA nicht so schnell einschalten wie ein Miniporttreiber, der ScsiRestartAdapter implementiert. |
ScsiSetBootConfig Stellt alle Einstellungen für einen HBA wieder her, die das BIOS möglicherweise für einen Neustart benötigt. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp (und Parameters auf NULL) auf, nachdem diese Routine mit ScsiStopAdapter aufgerufen wurde. Ein Miniporttreiber muss ScsiSetBootConfig implementieren, wenn StorPortGetBusData oder StorPortSetBusDataByOffset aufgerufen werden muss, bevor das System neu gestartet werden kann. |
ScsiSetRunningConfig Stellt alle Einstellungen für einen HBA wieder her, die der Miniporttreiber möglicherweise zum Steuern des HBA benötigt, während das System ausgeführt wird. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp (und Parameter auf NULL) auf, bevor er diese Routine mit ScsiRestartAdapter aufruft, wenn der Miniporttreiber diesen Steuerelementtyp implementiert. Der Interrupt des HBA ist noch nicht verbunden, wenn der Storport-Treiber diesen Aufruf ausgibt. Daher muss der Miniporttreiber darauf achten, keinen Interrupt zu generieren. Ein Miniporttreiber muss ScsiSetRunningConfig implementieren, wenn StorPortGetBusData oder StorPortSetBusDataByOffset aufgerufen werden muss, um die entsprechende ausgeführte Konfiguration im HBA wiederherzustellen, bevor sie neu gestartet werden kann. |
ScsiPowerSettingNotification Benachrichtigung für eine Änderung der registrierten Energieeinstellung. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf eine STOR_POWER_SETTING_INFO-Struktur auf, wenn eine Energieeinstellungsänderung auftritt. Miniports registrieren sich für Energieeinstellungsbenachrichtigungen, indem StorPortSetPowerSettingNotificationGuids mit einer Liste von GUIDs aufgerufen werden, die die relevanten Energiewechselereignisse darstellen. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterPower Meldet den Ein- oder Ausschaltenstatus des Adapters. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf eine STOR_ADAPTER_CONTROL_POWER-Struktur auf. Wenn der Miniport diesen Steuerelementtyp unterstützt, empfängt er keinen Speicheranforderungsblock mit SRB_FUNCTION_POWER und HwStorAdapterControl wird nicht mit dem ScsiStopAdapter-Steuerelementtyp aufgerufen. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterPoFxPowerRequired Benachrichtigt den Miniport, ob für die Adapterkomponente Strom benötigt wird oder nicht. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parameters auf, die auf einen BOOLEAN-Wert verweisen, der TRUE ist, wenn die Adapterkomponente Strom benötigt. andernfalls FALSE. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterPoFxPowerActive Benachrichtigt den Miniport, ob die Adapterkomponente aktiv oder im Leerlauf ist. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parameters auf, die auf eine STOR_POFX_ACTIVE_CONTEXT Struktur verweisen. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterPoFxPowerSetFState Benachrichtigt den Miniport, um die Adapterkomponente auf den angegebenen F-Zustand festzulegen. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf, die auf eineSTOR_POFX_FSTATE_CONTEXT Struktur verweisen. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterPoFxPowerControl Fordert an, dass der Miniport einen privaten Energiesteuerungsvorgang ausführt, der für den Adapter durch ein Power Engine Plug-In (PEP) initiiert wurde. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf, die auf eine STOR_POFX_POWER_CONTROL-Struktur verweisen. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterPrepareForBusReScan Benachrichtigt den Miniport, um den Adapter für die Busaufzählung vorzubereiten. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp auf (und Parameter auf NULL festgelegt). Der Miniport sollte den Adapter und alle verbundenen Geräte einschalten, damit der Busaufzählungsvorgang die Geräte finden kann. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterSystemPowerHints Stellt Hinweise zur Systemleistung für den Miniport bereit. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und parametern auf eine STOR_SYSTEM_POWER_HINTS-Struktur auf. Dieser Steuerelementtyp ist in Windows 8 und höher gültig. |
ScsiAdapterFilterResourceRequirements Filtert die erforderlichen Ressourcen für den Adapter. Der Storport-Treiber ruft HwStorAdapterControl mit diesem IRP_MN_FILTER_RESOURCE_REQUIREMENTS Steuerelementtyp und Parametern auf eine STOR_FILTER_RESOURCE_REQUIREMENTS-Struktur auf, wenn Storport die Anforderung verarbeitet, und miniport hat das STOR_FEATURE_ADAPTER_CONTROL_PRE_FINDADAPTER Flag im Feld FeatureSupport von HW_INITIALIZATION_DATA festgelegt. Beachten Sie, dass die für diesen Steuerelementtyp übergebene DeviceExtension nicht initialisiert wird. Der Miniporttreiber sollte die im Puffer beschriebenen Ressourcen mithilfe der STOR_FILTER_RESOURCE_REQUIREMENTS-Struktur ändern oder reduzieren. Dieser Steuerelementtyp ist in Windows 8.1 und höher gültig. |
ScsiAdapterPoFxMaxOperationalPower Kommuniziert einen maximalen Betriebsleistungswert an den Miniport. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf, die auf eine STOR_MAX_OPERATIONAL_POWER Struktur verweisen. Zum Empfangen dieses Steuerelements muss der Miniport zuvor StorPortPoFxSetPerfState aufgerufen haben, um eine perf-Gruppe mit PStateType = StorPoFxPerfStateTypeDiscrete und Count> 1 zu registrieren. Das Feld Wert in jedem Leistungszustand (P-Zustand) muss ein maximales Leistungsniveau darstellen, das relativ zu den anderen P-Zuständen ist und innerhalb des Bereichs der maximalen Leistungsstufen liegt, die von den P-Zuständen des Miniports (einschließlich) gemeldet werden. Der Miniport muss sicherstellen, dass er einen Energiezustand wählt, dessen maximaler Stromverbrauch kleiner oder gleich dem in diesem Parameter angegebenen Wert ist. |
ScsiAdapterPoFxSetPerfState Informiert den Miniport über den status eines P-Zustandsübergangs, der durch einen Aufruf von StorPortPoFxSetPerfState angefordert wurde. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf, die auf eine STOR_POFX_PERF_STATE_CONTEXT-Struktur verweisen. Wenn der Miniport einen physischen Energiezustandsübergang initiieren muss, sollte er auf den HwStorAdapterControl-Rückruf warten, bevor er dies tut. Das heißt, ein Miniport muss zuerst StorPortPoFxSetPerfState aufrufen, um seine Absicht zu signalisieren, einen P-Zustandsübergang vorzunehmen. Storport ruft dann den HwStorAdapterControl-Rückruf des Miniports auf, an dem der Miniport alle Aktionen im Zusammenhang mit dem Übergang zum P-Zustand ausführen kann (z. B. ändern des physischen Energiezustands des Geräts). |
ScsiAdapterSurpriseRemoval Benachrichtigt den Miniport, dass die Einheit überraschend entfernt wurde. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp auf (und Parameter auf NULL festgelegt). |
ScsiAdapterSerialNumber Fordert an, dass der Miniport die Seriennummer des Adapters abruft. Der Storport-Treiber ruft HwStorAdapterControl mit diesem Steuerelementtyp und Parametern auf, die auf eine STOR_SERIAL_NUMBER Struktur verweisen. |
ScsiAdapterCryptoOperation Ist für das System reserviert. Benachrichtigt den Miniport, einen kryptografischen Vorgang auszuführen. Storport ruft HwStorAdapterControl mit und Parameters auf eine STOR_CRYPTO_OPERATION. |
ScsiAdapterQueryFruId Verfügbar ab Windows 10 Version 21H1. Fragt die ID einer Fehleraustauscheinheit (Fru) des Adapters ab. Storport ruft HwStorAdapterControl mit und Parameters auf eine STOR_FRU_ID_DESCRIPTION-Struktur , wenn [IOCTL_STORAGE_QUERY_PROPERTY]ni-ntddstor-ioctl_storage_query_property.md) mit einer StorageFruIdProperty-Eigenschafts-ID behandelt wird. Storport sendet dieses Steuerelement nur, wenn ein Miniport zuvor auch StorPortSetFeatureList in seiner HwFindAdapter-Routine mit storportFeatureFruIdAdapterControl angegeben hat. |
ScsiAdapterSetEventLogging Verfügbar ab Windows 10 Version 21H1. Benachrichtigt den Miniport darüber, ob ein bestimmter Ereigniskanal für einen Adapter aktiviert oder deaktiviert ist. Ein Miniport sollte dann nur dann eine API aufrufen, um ein Ereignis für den Adapter zu protokollieren, wenn der entsprechende Kanal aktiviert ist. Wenn der Miniport diesen Steuerelementtyp unterstützt, ruft Storport HwStorAdapterControl mit diesem und Parameters auf, die auf eine STOR_SET_EVENT_LOGGING-Struktur verweisen. Storport sendet dieses Steuerelement nur, wenn ein Miniport zuvor auch StorPortSetFeatureList in seiner HwFindAdapter-Routine mit storportFeatureFruIdAdapterControl angegeben hat. |
ScsiAdapterReportInternalData Ist für das System reserviert. Verfügbar ab Windows 11 Version 22H2. Storport sendet dieses Steuerelement nur, wenn ein Miniport in seiner HwFindAdapter-Routine mit angegebenem ScsiAdapterReportInternalData zuvor auch StorPortSetFeatureList genannt wurde. |
ScsiAdapterResetBusSynchronous Verfügbar ab Windows 11 Version 22H2. Storport sendet dieses Steuerelement während der Verarbeitung eines IOCTL_STORAGE_DEVICE_RESET. Der Miniporttreiber sollte dieses Steuerelement ähnlich wie in seiner HwResetBus-Rückrufroutine behandeln und SCSI_ADAPTER_CONTROL_STATUS zurückgeben. Storport sendet dieses Steuerelement nur, wenn ein Miniport in seiner HwFindAdapter-Routine mit StorportFeatureResetBusSynchronous zuvor auch StorPortSetFeatureList genannt wurde. |
ScsiAdapterPostHwInitialize Ist für das System reserviert. Verfügbar ab Windows 11 Version 22H2. Storport sendet dieses Steuerelement nur, wenn ein Miniport zuvor in seiner HwFindAdapter-RoutinestorportFeaturePostHwInitialize auch StorPortSetFeatureList genannt hat. |
ScsiAdapterPrepareEarlyDumpData Ist für das System reserviert. Verfügbar ab Windows 11 Version 22H2. Storport sendet dieses Steuerelement nur, wenn ein Miniport in seiner HwFindAdapter-Routine mit storportFeaturePrepareEarlyDumpData zuvor auch StorPortSetFeatureList genannt wurde. |
ScsiAdapterRestoreEarlyDumpData Ist für das System reserviert. Verfügbar ab Windows 11 Version 22H2. Storport sendet dieses Steuerelement nur, wenn ein Miniport in seiner HwFindAdapter-Routine mit storportFeatureRestoreEarlyDumpData zuvor auch StorPortSetFeatureList genannt wurde. |
ScsiAdapterControlMax Maximaler Steuerelementtypwert. |
MakeAdapterControlTypeSizeOfUlong Legt diese Enumeration auf die Größe einer ULONG fest. |
Hinweise
Ein Miniport meldet, welche Steuerelementtypen unterstützt werden, wenn Storport die HwStorAdapterControl-Routine des Miniports mit einem Steuerelementtyp von ScsiQuerySupportedControlTypes aufruft. Für die vom Miniport unterstützten Steuerelementtypen ruft Storport HwStorAdapterControl mit einem SCSI_ADAPTER_CONTROL_TYPE-Wert auf, um den Steuerungsvorgang anzugeben, der den vom Miniport auszuführenden Adaptersteuerungsvorgang angibt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Kopfzeile | storport.h |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für