NDIS_PD_ALLOCATE_QUEUE función de devolución de llamada (ndis.h)

La plataforma PacketDirect (PD) llama a la función NdisPDAllocateQueue del controlador de miniporte compatible con PD para asignar una cola.

Nota Debe declarar la función mediante el tipo NDIS_PD_ALLOCATE_QUEUE . Para obtener más información, consulte la sección Ejemplos siguientes.

 

Sintaxis

NDIS_PD_ALLOCATE_QUEUE NdisPdAllocateQueue;

NTSTATUS() NdisPdAllocateQueue(
  [in] NDIS_PD_PROVIDER_HANDLE ProviderHandle,
  [in] const NDIS_PD_QUEUE_PARAMETERS *QueueParameters,
       NDIS_PD_QUEUE **NdisPDQueue
)
{...}

Parámetros

[in] ProviderHandle

Identificador de proveedor que identifica el objeto de proveedor del controlador de miniporte compatible con PD.

[in] QueueParameters

Todos los parámetros asociados a queue. Para obtener más información, consulte la estructura de NDIS_PD_QUEUE_PARAMETERS .

NdisPDQueue

Puntero a la cola que se va a asignar. Para obtener más información, consulte la estructura NDIS_PD_QUEUE .

Valor devuelto

Esta función devuelve STATUS_SUCCESS cuando se completa correctamente; de lo contrario, devuelve el código de error adecuado.

Comentarios

Ejemplos

Para definir una función NdisPDAllocateQueue , 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 NdisPDAllocateQueue denominada "MyPDAllocateQueue", use el tipo NDIS_PD_ALLOCATE_QUEUE como se muestra en este ejemplo de código:

NDIS_PD_ALLOCATE_QUEUE MyPDAllocateQueue;

A continuación, implemente la función de la siguiente manera:

_Use_decl_annotations_
NTSTATUS
 MyPDAllocateQueue(
    NDIS_PD_PROVIDER_HANDLE  ProviderHandle,
    CONST NDIS_PD_QUEUE_PARAMETERS*  QueueParameters,
    NDIS_PD_QUEUE**  NdisPDQueue
    )
  {...}

El tipo de función NDIS_PD_ALLOCATE_QUEUE se define en el archivo de encabezado Ntddndis.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 NDIS_PD_ALLOCATE_QUEUE en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declarar funciones mediante 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 Windows 10
Servidor mínimo compatible Windows Server 2016
Plataforma de destino Windows
Encabezado ndis.h
IRQL PASSIVE_LEVEL