Fonction RtlCmEncodeMemIoResource (wdm.h)

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

Syntaxe

NTSYSAPI NTSTATUS RtlCmEncodeMemIoResource(
  [in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
  [in] UCHAR                           Type,
  [in] ULONGLONG                       Length,
  [in] ULONGLONG                       Start
);

Paramètres

[in] Descriptor

Pointeur vers la structure CM_PARTIAL_RESOURCE_DESCRIPTOR à mettre à jour.

[in] Type

Type de ressource de la mémoire. Ce paramètre peut être CmResourceTypeMemory, CmResourceTypeMemoryLarge ou CmResourceTypePort.

[in] Length

Longueur, en octets, de la plage d’adresses allouées.

[in] Start

Adresse de départ de la plage d’adresses de port de mémoire ou d’E/S.

Valeur retournée

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

Code de retour Description
STATUS_SUCCESS
La structure CM_PARTIAL_RESOURCE_DESCRIPTOR a été mise à jour.
STATUS_UNSUCCESSFUL
La valeur spécifiée pour Length ne peut pas être encodée dans une structure CM_PARTIAL_RESOURCE_DESCRIPTOR .
STATUS_INVALID_PARAMETER
Un ou plusieurs des paramètres spécifiés ne sont pas valides.

Remarques

Les adresses dont la longueur est supérieure à 32 bits doivent satisfaire à 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

CM_PARTIAL_RESOURCE_DESCRIPTOR

RtlCmDecodeMemIoResource