Partager via


Fonction RtlIoEncodeMemIoResource (wdm.h)

La routine RtlIoEncodeMemIoResource met à jour une structure de IO_RESOURCE_DESCRIPTOR pour décrire une plage d’adresses de port d’E/S ou de mémoire.

Syntaxe

NTSYSAPI NTSTATUS RtlIoEncodeMemIoResource(
  [in] PIO_RESOURCE_DESCRIPTOR Descriptor,
  [in] UCHAR                   Type,
  [in] ULONGLONG               Length,
  [in] ULONGLONG               Alignment,
  [in] ULONGLONG               MinimumAddress,
  [in] ULONGLONG               MaximumAddress
);

Paramètres

[in] Descriptor

Pointeur vers la structure IO_RESOURCE_DESCRIPTOR à mettre à jour.

[in] Type

Type de ressource de la plage d’adresses. Ce paramètre peut être CmResourceTypeMemory, CmResourceTypeMemoryLarge ou CmResourceTypePort.

[in] Length

Longueur, en octets, de la plage d’adresses assignables.

[in] Alignment

Alignement, en octets, de l’adresse de départ de la plage d’adresses.

[in] MinimumAddress

Adresse minimale pouvant être affectée à l’appareil.

[in] MaximumAddress

Adresse maximale pouvant être affectée à l’appareil.

Valeur retournée

RtlIoEncodeMemIoResource retourne une valeur NTSTATUS. Cette routine peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS
La structure IO_RESOURCE_DESCRIPTOR a été mise à jour.
STATUS_UNSUCCESSFUL
La valeur spécifiée pour Length ou Alignment n’a pas pu être encodée dans une structure IO_RESOURCE_DESCRIPTOR .
STATUS_INVALID_PARAMETER
Un ou plusieurs des paramètres spécifiés n’étaient pas valides.

Remarques

Les adresses dont la longueur est supérieure à 32 bits doivent respecter certaines restrictions d’alignement, sinon la routine retourne STATUS_UNSUCCESSFUL.

Longueur de l’adresse Restriction d’alignement
40 bits Les 8 bits les plus bas doivent être zéro.
48 bits Les 16 bits les plus bas doivent être zéro.
64 bits Les 32 bits les plus bas doivent être zéro.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions plus récentes de Windows.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau

Voir aussi

IO_RESOURCE_DESCRIPTOR

RtlIoDecodeMemIoResource