MINIPORT_CO_CREATE_VC función de devolución de llamada (ndis.h)
La función MiniportCoCreateVc es necesaria para minipuertos orientados a la conexión. NDIS llama a MiniportCoCreateVc para indicar al controlador de minipuerto que se está creando una nueva credencial verificable.
Sintaxis
MINIPORT_CO_CREATE_VC MiniportCoCreateVc;
NDIS_STATUS MiniportCoCreateVc(
[in] NDIS_HANDLE MiniportAdapterContext,
[in] NDIS_HANDLE NdisVcHandle,
[out] PNDIS_HANDLE MiniportVcContext
)
{...}
Parámetros
[in] MiniportAdapterContext
Especifica el identificador de un área de contexto asignada por el controlador de miniporte en la que el controlador de minipuerto mantiene información de estado sobre esta instancia del adaptador. El controlador de minipuerto proporcionó este identificador a NDIS mediante una llamada a . NdisMSetMiniportAttributes de su Función MiniportInitializeEx .
[in] NdisVcHandle
Especifica un identificador, proporcionado por NDIS, que identifica de forma única la credencial verificable que se va a crear. Este identificador es opaco para el controlador de minipuerto y está reservado para el uso de la biblioteca NDIS.
[out] MiniportVcContext
Especifica, en la salida, un identificador para un área de contexto proporcionada por el controlador de minipuerto en la que el controlador de minipuerto mantiene el estado sobre la credencial verificable.
Valor devuelto
Código devuelto | Descripción |
---|---|
|
Indica que el controlador de minipuerto asignó correctamente todos los recursos necesarios y se preparó para controlar las solicitudes de la credencial verificable recién creada. |
|
Indica que el administrador de llamadas no pudo obtener los recursos asignados dinámicamente necesarios para que funcione en la nueva credencial verificable. |
Comentarios
MiniportCoCreateVc debe escribirse como una función sincrónica y no puede, en ninguna circunstancia, devolver NDIS_STATUS_PENDING sin causar un error en todo el sistema.
MiniportCoCreateVc asigna los recursos necesarios que el controlador de minipuerto requiere para mantener la información de estado sobre la credencial verificable. Los recursos pueden incluir, pero no se limitan a búferes de memoria, eventos, estructuras de datos y otros recursos similares.
Después de asignar todos los recursos necesarios, el controlador de minipuerto debe inicializar los recursos en un estado utilizable y devolver un puntero al área de estado en MiniportVcContext. El identificador se establece desreferenciando el identificador y almacenando un puntero en el búfer de estado como el valor del identificador. Por ejemplo:
*MiniportVcContext = SomeBuffer;
Los controladores de minipuerto deben almacenar el identificador en vc, NdisVcHandle, en su área de estado, ya que es un parámetro necesario para otras rutinas de biblioteca NDIS a las que llama posteriormente el controlador de miniport.
Ejemplos
Para definir una función MiniportCoCreateVc , primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.Por ejemplo, para definir una función MiniportCoCreateVc denominada "MyCoCreateVc", use el tipo de MINIPORT_CO_CREATE_VC como se muestra en este ejemplo de código:
MINIPORT_CO_CREATE_VC MyCoCreateVc;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
NDIS_STATUS
MyCoCreateVc(
NDIS_HANDLE MiniportAdapterContext,
NDIS_HANDLE NdisVcHandle,
PNDIS_HANDLE MiniportVcContext
)
{...}
El tipo de función MINIPORT_CO_CREATE_VC se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función MINIPORT_CO_CREATE_VC en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, consulte Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.
Para obtener información sobre Use_decl_annotations, consulte Anotación del comportamiento de la función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulta MiniportCoCreateVc (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulta MiniportCoCreateVc (NDIS 5.1)) en Windows XP. |
Plataforma de destino | Windows |
Encabezado | ndis.h (incluya Ndis.h) |
IRQL | <= DISPATCH_LEVEL |