Fonction RtlInitializeBitMap (wdm.h)
La routine RtlInitializeBitMap initialise l’en-tête d’une variable bitmap.
Syntaxe
NTSYSAPI VOID RtlInitializeBitMap(
[out] PRTL_BITMAP BitMapHeader,
[in] __drv_aliasesMem PULONG BitMapBuffer,
[in] ULONG SizeOfBitMap
);
Paramètres
[out] BitMapHeader
Pointeur vers une structure RTL_BITMAP vide.
[in] BitMapBuffer
Pointeur vers la mémoire allouée à l’appelant pour la bitmap elle-même. L’adresse de base de cette mémoire tampon doit être alignée sur ULONG. La taille de la mémoire tampon allouée doit être un multiple entier d’octets sizeof (ULONG).
[in] SizeOfBitMap
Spécifie le nombre de bits dans la bitmap. Cette valeur peut être n’importe quel nombre de bits qui tiennent dans la mémoire tampon allouée pour la bitmap.
Valeur de retour
None
Remarques
Un pilote peut utiliser une variable bitmap comme moyen économique de suivre un ensemble d’éléments réutilisables. Par exemple, les systèmes de fichiers utilisent une variable bitmap pour suivre les clusters/secteurs sur un disque qui ont déjà été alloués pour stocker des données de fichier. Le pilote de port SCSI fourni par le système utilise une variable bitmap pour suivre les balises de file d’attente qui ont été affectées à des blocs de requête SCSI (SBS).
RtlInitializeBitMap doit être appelé avant toute autre routine RtlXxx qui fonctionne sur une variable bitmap. Le pointeur BitMapHeader est un paramètre d’entrée dans tous les appels RtlXxx suivants qui opèrent sur la variable bitmap de l’appelant sur BitMapBuffer. L’appelant est responsable de la synchronisation de l’accès à la variable bitmap.
RtlInitializeBitMap initialise la structure de RTL_BITMAP fournie par l’appelant en copiant les valeurs BitMapBuffer et SizeOfBitMap fournies par l’appelant. Par la suite, la structure peut être passée à d’autres routines pour manipuler la bitmap. RtlInitializeBitMap ne modifie pas le contenu de la bitmap.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe (mode noyau) ; Ntdll.dll (mode utilisateur) |
IRQL | N’importe quel IRQL si BitMapHeader est résident en mémoire ; <= APC_LEVEL si BitMapHeader est paginable ou sur Windows 7 et versions antérieures |