Freigeben über


AtaPortRequestSynchronizedRoutine-Funktion (irb.h)

Die AtaPortRequestSynchronizedRoutine-Routine wird vom Miniporttreiber verwendet, um die Synchronisierung mit der Interruptdienstroutine (ISR) anzufordern.

Hinweis Die Modelle ATA-Porttreiber und ATA-Miniporttreiber können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen wird empfohlen, die Modelle Storport-Treiber und Storport-Miniporttreiber zu verwenden.
 

Syntax

BOOLEAN AtaPortRequestSynchronizedRoutine(
  [in] PVOID      ChannelExtension,
       IDE_HW_DPC CallBackRoutine
);

Parameter

[in] ChannelExtension

Ein Zeiger auf die Kanalerweiterung.

CallBackRoutine

Ein Zeiger auf die zu aufrufende Routine.

Rückgabewert

Keine

Bemerkungen

Diese Routine wird in der Regel von Miniporttreibern verwendet, die das SyncWithIsr-Element der IDE_CHANNEL_CONFIGURATION-Struktur auf FALSE festlegen. Wenn SyncWithIsr auf FALSE festgelegt ist, sollte der Miniporttreiber die AtaPortRequestSynchronizedRoutine-Routine verwenden, um den synchronisierten Zugriff auf Datenstrukturen sicherzustellen, die in der ISR geändert werden.

Der In ChannelExtension gespeicherte Zeiger auf die Kanalerweiterung wird beim Aufruf an die Workerroutine übergeben.

Wenn der Porttreiber die Routine aufruft, auf die von SynchronizedRoutine verwiesen wird, übergibt er den Zeiger an die Kanalerweiterung, die in ChannelExtension gespeichert ist.

Der SynchronizedRoutine-Funktionszeiger wird in Irb.h wie folgt deklariert:

typedef
VOID
(*IDE_HW_DPC) (
  IN PVOID ChannelExtension
  );

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile irb.h (include Ata.h, Irb.h)

Weitere Informationen

AtaPortControllerSyncRoutine