AtaPortRequestSynchronizedRoutine 函式 (irb.h)
迷你埠驅動程式會使用 AtaPortRequestSynchronizedRoutine 例程來要求與中斷服務例程 (ISR) 同步處理。
附注 ATA 埠驅動程式和 ATA 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式 和 Storport miniport 驅動程式模型。
語法
BOOLEAN AtaPortRequestSynchronizedRoutine(
[in] PVOID ChannelExtension,
IDE_HW_DPC CallBackRoutine
);
參數
[in] ChannelExtension
通道延伸模組的指標。
CallBackRoutine
要呼叫之例程的指標。
傳回值
沒有
言論
此例程通常由小型埠驅動程式使用,這些驅動程式會將 IDE_CHANNEL_CONFIGURATION 結構 SyncWithIsr 成員設定為 FALSE。 當 SyncWithIsr 設為 FALSE時,迷你埠驅動程式應該使用 AtaPortRequestSynchronizedRoutine 例程,以確保同步存取 ISR 中修改的數據結構。
通道延伸模組的指標,儲存在 ChannelExtension 會在呼叫時傳遞至背景工作例程。
當埠驅動程式呼叫由 SynchronizedRoutine所指向的例程時,它會將指標傳遞至儲存在 channelExtension channelExtension中的通道延伸模組指標。
SynchronizedRoutine 函式指標會在 Irb.h 宣告,如下所示:
typedef
VOID
(*IDE_HW_DPC) (
IN PVOID ChannelExtension
);
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | irb.h (包括 Ata.h、Irb.h) |