Función NdisAllocateCloneOidRequest (ndis.h)
La función NdisAllocateCloneOidRequest asigna memoria para una nueva estructura de NDIS_OID_REQUEST y copia toda la información de una estructura de NDIS_OID_REQUEST existente a la estructura recién asignada.
Sintaxis
NDIS_STATUS NdisAllocateCloneOidRequest(
[in] IN NDIS_HANDLE SourceHandle,
IN PNDIS_OID_REQUEST OidRequest,
[in] IN UINT PoolTag,
OUT PNDIS_OID_REQUEST *ClonedOidRequest
);
Parámetros
[in] SourceHandle
Identificador NDIS que identifica un módulo de filtro o un enlace de protocolo del controlador intermedio.
OidRequest
Puntero a una estructura de NDIS_OID_REQUEST existente desde la que NDIS copia la información en la estructura recién asignada.
[in] PoolTag
Una etiqueta de grupo de kernel. La etiqueta es una cadena, delimitada por comillas simples, con hasta cuatro caracteres, normalmente especificadas en orden inverso.
ClonedOidRequest
Puntero a un puntero a una estructura de NDIS_OID_REQUEST. Si NDIS devuelve NDIS_STATUS_SUCCESS, NDIS proporciona un puntero a la nueva estructura de NDIS_OID_REQUEST clonada; de lo contrario, NDIS establece el valor de puntero en NULL.
Valor devuelto
NdisAllocateClonedRequest puede devolver uno de los siguientes valores de estado:
Código devuelto | Descripción |
---|---|
|
NDIS asignó correctamente una estructura de NDIS_OID_REQUEST. El parámetro CloneRequest contiene un puntero a la estructura NDIS_OID_REQUEST. |
|
Error en la solicitud de asignación porque el identificador NDIS especificado en SourceHandle no es válido. |
|
Error en la solicitud de asignación porque NDIS no tenía suficientes recursos para completar la solicitud de asignación. |
|
El controlador no pudo asignar la estructura clonada por motivos distintos de los de la lista anterior. |
Comentarios
Para reenviar una solicitud a los controladores subyacentes, un controlador intermedio de NDIS o un controlador de filtro debe llamar a NdisAllocateCloneOidRequest para asignar una estructura de NDIS_OID_REQUEST clonada. Un controlador de filtro o controlador intermedio no debe reenviar la estructura de NDIS_OID_REQUEST original a los controladores subyacentes.
NdisAllocateCloneOidRequest asigna nueva memoria y copia los datos de una estructura de NDIS_OID_REQUEST existente a la nueva estructura.
Posteriormente, el controlador debe llamar a la función NdisFreeCloneOidRequest para liberar la estructura NDIS_OID_REQUEST.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.0 y versiones posteriores. |
Plataforma de destino | Escritorio |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | Irql_OID_Function(ndis) |