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 |
---|---|
|
La structure CM_PARTIAL_RESOURCE_DESCRIPTOR a été mise à jour. |
|
La valeur spécifiée pour Length ne peut pas être encodée dans une structure CM_PARTIAL_RESOURCE_DESCRIPTOR . |
|
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 |