ObQueryNameString, fonction (ntifs.h)
La routine ObQueryNameString fournit le nom, s’il existe un objet donné auquel l’appelant a un pointeur.
Syntaxe
NTSTATUS ObQueryNameString(
[in] PVOID Object,
[out, optional] POBJECT_NAME_INFORMATION ObjectNameInfo,
[in] ULONG Length,
[out] PULONG ReturnLength
);
Paramètres
[in] Object
Pointeur vers l’objet pour lequel le nom est demandé. Ce paramètre est obligatoire et ne peut pas être NULL.
[out, optional] ObjectNameInfo
Pointeur vers une mémoire tampon allouée par l’appelant, du type suivant, qui reçoit les informations de nom d’objet :
typedef struct _OBJECT_NAME_INFORMATION {
UNICODE_STRING Name;
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
Ce paramètre est facultatif et peut être NULL. Si ObjectNameInfo est NULL, de longueur doit être égale à zéro.
[in] Length
Taille, en octets, de la mémoire tampon pointée par ObjectNameInfo. Ce paramètre est facultatif et peut être égal à zéro. Si Longueur est égale à zéro, ReturnLength reçoit la taille, en octets, de la mémoire tampon nécessaire pour contenir les informations de nom d’objet. Une taille raisonnable pour la mémoire tampon pour prendre en charge la plupart des noms d’objets est de 1024 octets. Si longueur est égale à zéro, ObjectNameInfo peut être NULL.
[out] ReturnLength
Pointeur vers une variable allouée par l’appelant qui reçoit la taille, en octets, des informations de nom d’objet retournées. Le nom de l’objet (lorsqu’il est présent) inclut un terminateur NULL et tous les séparateurs de chemin d’accès « \ » dans le nom. Si ObQueryNameString retourne STATUS_INFO_LENGTH_MISMATCH, il définit ce paramètre sur la longueur de mémoire tampon requise.
Valeur de retour
ObQueryNameString retourne STATUS_SUCCESS ou une valeur NTSTATUS, par exemple :
Retourner le code | Description |
---|---|
|
La mémoire tampon pointée par ObjectNameInfo est trop petite pour contenir les informations de nom d’objet demandées. ReturnLength pointe vers la taille de mémoire tampon requise. Dans ce cas, aucune information de nom d’objet n’est retournée. Il s’agit d’un code d’erreur. N’oubliez pas que si longueur est définie sur zéro, STATUS_INFO_LENGTH_MISMATCH est retournée. |
Remarques
Si l’objet donné est nommé et que le nom de l’objet a été acquis avec succès, la chaîne retournée est le nom de l’objet donné, y compris la majeure partie du chemin d’accès complet de l’objet que possible. Dans ce cas, ObQueryNameString définit Name.Buffer à l’adresse du nom de fin NULL de l’objet spécifié. La valeur de Name.MaximumLength est la longueur du nom de l’objet, y compris l’arrêt NULL. La valeur de Name.Length est la longueur du seul nom de l’objet.
Si l’objet donné n’est pas nommé ou si le nom de l’objet n’a pas été acquis, ObQueryNameString définit Name.Buffer sur NULL et définit Name.Length et Name.MaximumLength sur zéro.
Le stockage de ObjectNameInfo peut être alloué à partir d’un pool paginé ou non paginé.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 |
plateforme cible | Universel |
d’en-tête | ntifs.h (include FltKernel.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |