Habilitación y deshabilitación de la funcionalidad de NDK
Para habilitar o deshabilitar la funcionalidad de NDK, NDIS emite una solicitud de OID de OID_NDK_SET_STATE . Un controlador de miniporte compatible con NDK debe registrar la compatibilidad con este OID en su función MiniportOidRequest .
Determinar si se puede habilitar la funcionalidad de NDK
La palabra clave *NetworkDirect determina si se puede habilitar la funcionalidad NDK del controlador de minipuerto.
Si este valor de palabra clave se establece en 1 ("Habilitado"), se puede habilitar la funcionalidad de NDK.
Si se establece en 0 ("Deshabilitado"), no se puede habilitar la funcionalidad de NDK.
Cuando se instala el controlador de minipuerto, su archivo INF establece este valor de palabra clave en 1 ("Habilitado") de forma predeterminada. Para obtener más información, vea Inf Requirements for NDKPI.
Una vez instalado el controlador de minipuerto, los administradores pueden actualizar el valor de la palabra clave *NetworkDirect estableciendo un nuevo valor en la página de propiedades Avanzadas del adaptador. Para obtener más información sobre las propiedades avanzadas, vea Especificar parámetros de configuración para la página Propiedades avanzadas.
Nota El controlador de minipuerto se reinicia automáticamente después de realizar un cambio en la página de propiedades Avanzadas del adaptador.
Cuándo habilitar o deshabilitar la funcionalidad de NDK
Este cambio de estado se puede desencadenar mediante una solicitud de OID de OID_NDK_SET_STATE o por un éxito o error en el propio adaptador.
Habilitación o deshabilitación de la funcionalidad de NDK
Para habilitar o deshabilitar su funcionalidad de NDK, el controlador de minipuerto debe enviar un evento NetEventNDKEnable o NetEventNDKDisable Plug and Play (PnP) a NDIS.
Para enviar el evento PnP, el controlador de minipuerto llama a la función NdisMNetPnPEvent , estableciendo el miembro NetPnPEvent de la estructura NET_PNP_EVENT_NOTIFICATION a la que apunta el parámetro NetPnPEvent de la siguiente manera:
NetEventNDKEnable si se va a habilitar la funcionalidad de NDK.
NetEventNDKDisable si se va a deshabilitar la funcionalidad de NDK.
El evento PnP NetEventNDKDisable desencadena controladores NDIS y de nivel superior para empezar a cerrar sus instancias de NDK_ADAPTER abiertas sobre el adaptador donde se deshabilita la funcionalidad NDK. El evento PnP permanecerá pendiente hasta que se cierren todas las instancias de NDK_ADAPTER abiertas en el adaptador.