NdisGetRoutineAddress 函式 (ndis.h)
NdisGetRoutineAddress 函式會傳回例程的位址,指定例程的名稱。
語法
PVOID NdisGetRoutineAddress(
[in] PNDIS_STRING NdisRoutineName
);
參數
[in] NdisRoutineName
UNICODE_STRING 結構的指標,指定包含例程名稱的字串。
傳回值
傳回例程的位址,如果例程可用,則傳回在 NdisRoutineName 指定名稱的例程位址;否則為 NULL。
備註
NDIS 驅動程式可以使用 NdisGetRoutineAddress 來取得導出 NDIS 例程的位址。 驅動程式接著可以使用這個位址來呼叫 NDIS 例程。
如果驅動程序必須保持回溯相容,NDIS 驅動程式可以使用 NdisGetRoutineAddress 。 例如,如果這類驅動程式匯入目前執行的 NDIS 版本未匯出的 NDIS 例程,I/O 管理員將不會在操作系統上載入驅動程式。 不過,驅動程式可以先使用 NdisGetRoutineAddress 來判斷例程是否可在目前正在執行的 NDIS 版本中使用。 如果有,則會傳回例程的位址。 然後,驅動程式可以使用 位址來呼叫例程。 如果無法使用,則會傳回 NULL 。 驅動程式無法呼叫例程,但驅動程式仍會在操作系統上載入。
使用 NdisGetRoutineAddress 所傳回的位址,而不是依名稱呼叫指定的例程,不會獲得效能改善。 因此,如果您知道驅動程式將用來導出指定例程的 NDIS 版本,請勿撰寫 NDIS 驅動程式來使用 NdisGetRoutineAddress 。
一般而言,NDIS 驅動程式會在其 DriverEntry 例程中呼叫 NdisGetRoutineAddress。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | (支援 NDIS 6.0 和 NDIS 5.1 驅動程式,請參閱 Windows Vista 中的 NdisGetRoutineAddress (NDIS 5.1) ) 。 (支援 NDIS 5.1 驅動程式,請參閱 Windows XP 中的 NdisGetRoutineAddress (NDIS 5.1) ) 。 |
目標平台 | Universal |
標頭 | ndis.h (包含 Ndis.h) |
程式庫 | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | Irql_Miscellaneous_Function (ndis) |