Mengonfigurasi Layanan Protokol Driver Opsional

NDIS memanggil fungsi ProtocolSetOptions dari driver protokol untuk memungkinkan driver protokol mengonfigurasi layanan opsional. NDIS memanggil ProtocolSetOptions dalam konteks panggilan driver protokol ke fungsi NdisRegisterProtocolDriver

ProtocolSetOptions mendaftarkan titik masuk default untuk fungsi ProtocolXxx opsional dan dapat mengalokasikan sumber daya driver lainnya. Untuk mendaftarkan fungsi ProtocolXxx yang opsional, driver protokol memanggil fungsi NdisSetOptionalHandlers dan meneruskan struktur karakteristik pada parameter OptionalHandlers. Dalam hal ini, driver protokol meneruskan handle dari parameter NdisDriverHandle di ProtocolSetOptions ke parameter NdisHandle di NdisSetOptionalHandlers.

Driver protokol juga dapat memanggil NdisSetOptionalHandlers dari fungsi ProtocolBindAdapterEx atau fungsi ProtocolOpenAdapterCompleteEx setelah driver protokol memiliki handle yang valid dari fungsi NdisOpenAdapterEx. Dalam kasus ini, driver protokol mengoper handle dari parameter NdisBindingHandle NdisOpenAdapterEx pada parameter NdisHandle NdisSetOptionalHandlers.

Dalam hal ini, struktur karakteristik yang valid adalah:

NDIS_PROTOCOL_CO_CHARACTERISTICS

NDIS_CO_CLIENT_OPTIONAL_HANDLERS

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS (lihat dokumentasi NDIS 6.0 tentang teknologi offload TCP chimney)

NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS (lihat dokumentasi pemindahan cerobong TCP NDIS 6.0 )