NDIS_PD_ALLOCATE_QUEUE funzione di callback (ndis.h)

La piattaforma PacketDirect (PD) chiama la funzione NdisPDAllocateQueue di un driver miniport che supporta PD per allocare una coda.

Nota È necessario dichiarare la funzione usando il tipo di NDIS_PD_ALLOCATE_QUEUE . Per altre informazioni, vedere la sezione Esempi seguente.

 

Sintassi

NDIS_PD_ALLOCATE_QUEUE NdisPdAllocateQueue;

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

Parametri

[in] ProviderHandle

Handle del provider che identifica l'oggetto provider del driver miniport che supporta PD.

[in] QueueParameters

Tutti i parametri associati alla coda. Per altre informazioni, vedere la struttura NDIS_PD_QUEUE_PARAMETERS .

NdisPDQueue

Puntatore alla coda da allocare. Per altre informazioni, vedere la struttura NDIS_PD_QUEUE .

Valore restituito

Questa funzione restituisce STATUS_SUCCESS al termine, in caso contrario restituisce il codice di errore appropriato.

Commenti

Esempi

Per definire una funzione NdisPDAllocateQueue , è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione con i tipi di funzione consente di eseguire l'analisi del codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica rilevano gli errori ed è un requisito per la scrittura dei driver per il sistema operativo Windows.

Ad esempio, per definire una funzione NdisPDAllocateQueue denominata "MyPDAllocateQueue", usare il tipo NDIS_PD_ALLOCATE_QUEUE , come illustrato in questo esempio di codice:

NDIS_PD_ALLOCATE_QUEUE MyPDAllocateQueue;

Implementare quindi la funzione come segue:

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

Il tipo di funzione NDIS_PD_ALLOCATE_QUEUE è definito nel file di intestazione Ntddndis.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations assicura che vengano utilizzate le annotazioni applicate al tipo di funzione NDIS_PD_ALLOCATE_QUEUE nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo di funzione per i driver NDIS.

Per informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Piattaforma di destinazione Windows
Intestazione ndis.h
IRQL PASSIVE_LEVEL