PCONFIGURE_ADAPTER_CHANNEL fonction de rappel (wdm.h)
La routine ConfigureAdapterChannel appelle une fonction personnalisée implémentée par le contrôleur DMA représenté par un objet adaptateur.
Syntaxe
PCONFIGURE_ADAPTER_CHANNEL PconfigureAdapterChannel;
NTSTATUS PconfigureAdapterChannel(
[in] PDMA_ADAPTER DmaAdapter,
[in] ULONG FunctionNumber,
[in] PVOID Context
)
{...}
Paramètres
[in] DmaAdapter
Pointeur vers une structure DMA_ADAPTER . Cette structure est l’objet d’adaptateur qui représente le canal DMA système du pilote. L’appelant a obtenu ce pointeur à partir d’un appel précédent à la routine IoGetDmaAdapter .
[in] FunctionNumber
Numéro de la fonction personnalisée à sélectionner. Pour plus d'informations, consultez la section Notes.
[in] Context
Pointeur vers les paramètres de configuration de la fonction personnalisée spécifiée par FunctionNumber. La fonction est implémentée par le contrôleur DMA et est accessible par un pilote de périphérique via l’objet adaptateur. Le contrôleur DMA et le pilote de périphérique doivent s’entendre sur la signification de ces paramètres de configuration. Les données vers laquelle pointe Context sont opaques pour le système d’exploitation.
Valeur retournée
ConfigureAdapterChannel retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles incluent le code status suivant.
Valeur retournée | Description |
---|---|
|
L’extension DMA n’implémente pas la fonction spécifiée par FunctionNumber. |
Remarques
ConfigureAdapterChannel n’est pas une routine système qui peut être appelée directement par nom. Cette routine peut être appelée uniquement par un pointeur à partir de l’adresse retournée dans une structure DMA_OPERATIONS. Les pilotes obtiennent l’adresse de cette routine en appelant IoGetDmaAdapter avec le membre Version du paramètre DeviceDescription défini sur DEVICE_DESCRIPTION_VERSION3. Si IoGetDmaAdapter retourne NULL, la routine n’est pas disponible sur votre plateforme.
Utilisez ConfigureAdapterChannel uniquement pour les adaptateurs DMA système. N’utilisez pas cette routine pour un adaptateur master bus.
Un contrôleur DMA système particulier peut avoir des fonctionnalités matérielles spéciales auxquelles les pilotes de périphérique peuvent accéder via un ensemble d’une ou plusieurs fonctions personnalisées. Un contrôleur peut implémenter plusieurs fonctions personnalisées, auquel cas chaque fonction est identifiée par un numéro de fonction différent. Ces fonctions abstraction des fonctionnalités matérielles DMA afin que les mêmes fonctions puissent être prises en charge sur différentes plateformes matérielles.
En règle générale, une fonction personnalisée définit les informations d’état dans le contrôleur DMA pour configurer les fonctionnalités matérielles à utiliser dans les transferts DMA suivants.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | <= DISPATCH_LEVEL |