Fungsi NdisSetOptionalHandlers (ndis.h)

Driver NDIS dapat memanggil fungsi NdisSetOptionalHandlers untuk mengatur atau mengubah titik masuk fungsi driver.

Sintaks

NDIS_STATUS NdisSetOptionalHandlers(
  NDIS_HANDLE                    NdisHandle,
  PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);

Parameter

NdisHandle

Handel NDIS yang mengidentifikasi instans driver atau driver.

Untuk driver protokol, ini adalah nilai NdisDriverHandle yang diteruskan ke fungsi ProtocolSetOptions atau nilai NdisBindingHandle yang diperoleh dengan memanggil fungsi NdisOpenAdapterEx .

Untuk driver miniport, ini adalah nilai NdisDriverHandle yang diteruskan ke fungsi MiniportSetOptions

Untuk driver filter, ini adalah nilai NdisDriverHandle yang diteruskan ke fungsi FilterSetOptions atau nilai NdisFilterHandle yang diteruskan ke fungsi FilterAttach .

OptionalHandlers

Penunjuk ke salah satu struktur NDIS berikut:

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

Mengembalikan nilai

NdisSetOptionalHandlers mengembalikan salah satu nilai status berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS

NdisSetOptionalHandlers mengembalikan NDIS_STATUS_SUCCESS jika mengatur titik masuk driver.

NDIS_STATUS_RESOURCES

NdisSetOptionalHandlers gagal karena sumber daya yang tidak mencukupi.

NDIS_STATUS_NOT_SUPPORTED

NdisSetOptionalHandlers gagal karena driver miniport tidak menentukan bahwa ia mendukung NDIS 6.0 atau yang lebih baru. Driver miniport menentukan versi NDIS-nya ketika memanggil Fungsi NdisMRegisterMiniportDriver .

NDIS_STATUS_FAILURE

NdisSetOptionalHandlers mengembalikan NDIS_STATUS_FAILURE jika tidak ada nilai sebelumnya yang berlaku.

Keterangan

Driver NDIS dapat memanggil NdisSetOptionalHandlers untuk menimpa titik masuk defaultnya. Jenis struktur yang diteruskan di OptionalHandlers bervariasi sesuai dengan jenis driver.

Driver protokol dapat memanggil NdisSetOptionalHandlers dalam konteks fungsi ProtocolSetOptions . Sebagai opsi, driver protokol dapat memanggil NdisSetOptionalHandlers dari fungsi ProtocolBindAdapterEx atau Fungsi ProtocolOpenAdapterCompleteEx setelah driver protokol memiliki handel yang valid dari fungsi NdisOpenAdapterEx .

Dalam hal ini, struktur yang valid adalah:

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

Untuk informasi selengkapnya tentang 2 struktur offload cerobong asap, lihat dokumentasi offload cerobong asap NDIS 6.0 TCP.

Driver miniport memanggil NdisSetOptionalHandlers dalam konteks fungsi MiniportSetOptions .

Dalam hal ini, struktur yang valid adalah:

NDIS_MINIPORT_PNP_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Untuk informasi selengkapnya tentang 2 struktur offload cerobong asap, lihat dokumentasi offload cerobong asap NDIS 6.0 TCP.

Driver filter memanggil NdisSetOptionalHandlers dalam konteks fungsi FilterSetOptions .

Tidak ada layanan pengandar filter opsional dalam versi Windows saat ini.

Driver filter dapat memanggil NdisSetOptionalHandlers untuk modul filter. Driver filter memanggil NdisSetOptionalHandlers dalam konteks Fungsi FilterSetModuleOptions .

Dalam hal ini, struktur yang valid adalah:

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Untuk informasi selengkapnya tentang 4 struktur offload cerobong asap, lihat dokumentasi offload cerobong asap NDIS 6.0 TCP.

Persyaratan

   
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI Irql_Miscellaneous_Function(ndis)

Lihat juga

FilterAttach

FilterRestart

FilterSetOptions

MiniportSetOptions

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx

ProtocolSetOptions