Fonction NetDmaRegisterProvider (netdma.h)
dans Windows 8 et versions ultérieures.
Syntaxe
NET_DMA_EXPORT NTSTATUS NetDmaRegisterProvider(
[in] PVOID ProviderContext,
[in] PVOID *pNetDmaProviderHandle,
[in] PNET_DMA_PROVIDER_CHARACTERISTICS ProviderCharacteristics
);
Paramètres
[in] ProviderContext
Pointeur vers un bloc d’informations de contexte allouées par le pilote qui stocke des informations sur le fournisseur DMA. NetDMA transmet les informations de contexte dans les appels suivants aux fonctions de fournisseurXxx qui nécessitaient un contexte de fournisseur DMA.
[in] pNetDmaProviderHandle
Pointeur vers une valeur qui est un handle que NetDmaRegisterProvider fournit pour identifier le fournisseur DMA. Le pilote du fournisseur DMA transmet ce handle aux fonctions NetDmaXxx qui nécessitent un handle de fournisseur.
[in] ProviderCharacteristics
Pointeur vers un NET_DMA_PROVIDER_CHARACTERISTICS structure qui définit les caractéristiques du fournisseur DMA.
Valeur retournée
NetDmaRegisterProvider peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
L’opération a échoué en raison de ressources insuffisantes. |
|
L’opération a échoué pour des raisons non spécifiées. |
Remarques
Les pilotes de fournisseur DMA appellent la fonction NetDmaRegisterProvider pour inscrire un fournisseur DMA. Les pilotes du fournisseur DMA appellent NetDmaRegisterProvider dans leur routine AddDevice .
Dans la routine AddDevice , le pilote du fournisseur DMA appelle la fonction IoCreateDevice pour créer un objet d’appareil fonctionnel (FDO) et l’insère en haut de la pile d’appareils. Le pilote du fournisseur DMA appelle ensuite NetDmaRegisterProvider pour inscrire le fournisseur DMA associé.
Le pilote du fournisseur DMA fournit un NET_DMA_PROVIDER_CHARACTERISTICS structure au niveau du paramètre ProviderCharacteristics de NetDmaRegisterProvider. La structure NET_DMA_PROVIDER_CHARACTERISTICS spécifie les caractéristiques d’un fournisseur NetDMA, y compris les points d’entrée des fonctions ProviderXxx .
Le pilote du fournisseur DMA fournit un pointeur vers un bloc d’informations de contexte allouées au pilote au niveau du paramètre ProviderContext de NetDmaRegisterProvider. Cette zone de contexte stocke des informations sur le fournisseur DMA. L’interface NetDMA transmet les informations de contexte dans les appels suivants aux fonctions ProviderXxx qui nécessitent un contexte de fournisseur DMA.
Lorsque NetDmaRegisterProvider retourne, il fournit un handle à l’emplacement spécifié par le paramètre pNetDmaProviderHandle . L’interface NetDMA affecte ce handle pour identifier le fournisseur DMA. Le pilote de fournisseur DMA utilise ce handle dans tous les appels suivants aux fonctions NetDmaXxx associées au fournisseur DMA.
Si un ordinateur prend en charge MSI-X, l’interface NetDMA, dans le contexte de la fonction NetDmaRegisterProvider , appelle le pilote du fournisseur DMA Fonction ProviderSetDmaChannelCpuAffinity pour spécifier l’affinité processeur de l’interruption pour chaque canal DMA.
Si un ordinateur prend en charge MSI-X, le pilote du fournisseur DMA peut spécifier des affinités d’interruption lors de la gestion du IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP. Une fois la routine AddDevice retournée, le gestionnaire Plug-and-Play (PnP) envoie le IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP pour le fournisseur DMA. Le pilote du fournisseur DMA doit tenter d’allouer des ressources d’interruption MSI-X en fonction des paramètres d’affinité que l’interface NetDMA a transmis à ProviderSetDmaChannelCpuAffinity.
Pour désinscrire un fournisseur DMA, un pilote de fournisseur DMA appelle le Fonction NetDmaDeregisterProvider .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge pour les pilotes NetDMA 1.0 dans Windows Vista. |
Plateforme cible | Universal |
En-tête | netdma.h (inclure Netdma.h) |
IRQL | PASSIVE_LEVEL |
Voir aussi
IRP_MN_FILTER_RESOURCE_REQUIREMENTS NET_DMA_PROVIDER_CHARACTERISTICS ProviderSetDmaChannelCpuAffinityCommentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour