StorPortStateChangeDetected-Funktion (storport.h)
Benachrichtigt den Storport-Porttreiber über eine Zustandsänderung für eine logische Einheitsnummer (LUN), einen Hostbusadapter (HBA) oder ein Zielgerät.
Syntax
ULONG StorPortStateChangeDetected(
[in] PVOID HwDeviceExtension,
[in] ULONG ChangedEntity,
[in] PSTOR_ADDRESS Address,
[in] ULONG Attributes,
[in, optional] PHW_STATE_CHANGE HwStateChange,
[in, optional] PVOID HwStateChangeContext
);
Parameter
[in] HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein Speicherbereich pro HBA, den der Porttreiber im Namen des Miniporttreibers zuordnet und initialisiert. Miniporttreiber speichern in der Regel HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche für die HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf StorPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es das Gerät entfernt.
[in] ChangedEntity
Flags, die die Entitäten angeben, deren Status sich geändert hat. Dies ist ein bisschen ODER Kombination dieser Werte:
[in] Address
Die Adresse der Entität mit der Statusänderung. Address-Wert kann erst geändert werden, wenn der Rückruf bei HwStateChange aufgerufen wird. Wenn Adress- im Arbeitsspeicher zugeordnet ist, sollte der Speicher von der Rückrufroutine freigegeben werden.
[in] Attributes
Attribute, die der Entität zugeordnet sind. Dies ist ein bisschen ODER Kombination aus folgendem:
Wert | Bedeutung |
---|---|
|
LUNs sind für die Verwendung virtueller Computer reserviert. |
[in, optional] HwStateChange
Ein Zeiger auf eine Rückrufroutine, die vom Miniport bereitgestellt wird. Wenn vorhanden, ruft der Storport-Treiber diese Routine auf, wenn der Treiber die Verarbeitung dieser Statusänderungsbenachrichtigung abgeschlossen hat.
[in, optional] HwStateChangeContext
Ein miniport-bereitgestellter Kontextwert, der enthalten ist, wenn die Routine in HwStateChange- aufgerufen wird.
Rückgabewert
Ein Statuswert, der das Ergebnis der Benachrichtigung angibt. Dies kann einer der folgenden Werte sein:
Rückgabecode | Beschreibung |
---|---|
|
Die Statusänderungsbenachrichtigung wird für die Verarbeitung geplant. |
|
Der Adresstyp oder der Entitätstyp ist ungültig. |
|
Eine vorherige Benachrichtigung wird verarbeitet, und diese kann nicht geplant werden. |
Bemerkungen
Ein erfolgreicher Aufruf von StorPortStateChangeDetected führt zu einer erneuten Aufzählung der geänderten Entität.
Nur eine Statusänderungsanforderung kann jederzeit aktiv sein. Wenn ein Miniport einen anderen StorPortStateChangeDetected Aufruf ausführen muss, sollte ein HwStateChange- Rückruf bereitgestellt und ein weiterer Aufruf an StorPortStateChangeDetected nach dem Rückruf an HwStateChange ausgeführt werden. Wenn ein Miniport mehrere Zustandsänderungen gleichzeitig angeben möchte, kann der Miniport StorPortStateChangeDetected aufrufen, wobei geänderte Entitäten in ChangedEntity- festgelegt sind, die alle aktuellen Zustandsänderungen enthält.
Wenn mehrere Flags in ChangedEntityangegeben werden, hat das Flag mit größerem Wert Vorrang vor weniger.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows 8 und höheren Versionen von Windows. |
Zielplattform- | Universal |
Header- | storport.h (include Storport.h) |
IRQL- | Jegliche |