Fonction NtGetNotificationResourceManager (wdm.h)
La routine ZwGetNotificationResourceManager récupère les de notification de transaction de suivantes à partir de la file d’attente de notification d’un gestionnaire de ressources spécifié.
Syntaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtGetNotificationResourceManager(
[in] HANDLE ResourceManagerHandle,
[out] PTRANSACTION_NOTIFICATION TransactionNotification,
[in] ULONG NotificationLength,
[in] PLARGE_INTEGER Timeout,
[out, optional] PULONG ReturnLength,
[in] ULONG Asynchronous,
[in, optional] ULONG_PTR AsynchronousContext
);
Paramètres
[in] ResourceManagerHandle
Handle vers un objet Resource Manager obtenu par un appel précédent à ZwCreateResourceManager ou ZwOpenResourceManager. Le handle doit avoir RESOURCEMANAGER_GET_NOTIFICATION accès à l’objet.
[out] TransactionNotification
Pointeur vers une mémoire tampon allouée par l’appelant qui reçoit des informations sur la notification récupérée. La mémoire tampon doit être suffisamment grande pour contenir une structure TRANSACTION_NOTIFICATION ainsi que d’autres arguments spécifiques à la notification.
[in] NotificationLength
Longueur, en octets, de la mémoire tampon vers laquelle pointe le paramètre TransactionNotification .
[in] Timeout
Pointeur vers une valeur qui spécifie un temps relatif ou absolu, en unités de 100 nanosecondes. Ce pointeur est facultatif et peut être NULL.
Si le pointeur est NULL, ZwGetNotificationResourceManager ne retourne pas tant qu’une notification de transaction n’est pas disponible. Si une valeur de temps est spécifiée, ZwGetNotificationResourceManager retourne lorsqu’une notification est disponible ou après l’expiration du délai spécifié, selon ce qui se produit en premier.
Une valeur négative spécifie une heure relative à l’heure système actuelle. Par exemple, une valeur de temps relative de cinq secondes entraîne ZwGetNotificationResourceManager d’expirer cinq secondes après son appel.
Une valeur positive spécifie un temps absolu, qui est en fait relatif à 00:00, le 1er janvier 1601. Si une valeur d’heure absolue est spécifiée, le système d’exploitation ajoute la valeur de temps absolue à la valeur de temps qui représente 00:00, le 1er janvier 1601.
Si l’appelant spécifie une valeur zéro (au lieu d’un pointeur NULL), ZwGetNotificationResourceManager retourne immédiatement, qu’une notification soit disponible ou non.
[out, optional] ReturnLength
Pointeur facultatif vers une variable. Si ce pointeur n’est pas NULL et si la valeur du paramètre NotificationLength est trop petite, ZwGetNotificationResourceManager fournit la longueur requise dans la variable et retourne STATUS_BUFFER_TOO_SMALL.
[in] Asynchronous
Valeur ULONG qui doit être égale à zéro. ZwGetNotificationResourceManager ne prend pas en charge les notifications asynchrones. Utilisez TmEnableCallbacks pour activer les notifications asynchrones.
[in, optional] AsynchronousContext
Pointeur vers une valeur ULONG. Ce pointeur doit être NULL.
Valeur de retour
ZwGetNotificationResourceManager retourne STATUS_SUCCESS si l’opération réussit et qu’une notification est disponible. Sinon, cette routine peut retourner l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
Intervalle de délai d’attente délai d’expiration spécifié avant qu’une notification ne soit disponible. |
|
Le handle spécifié n’est pas un handle pour un objet Resource Manager. |
|
Le handle d’objet n’est pas valide. |
|
L’appelant n’a pas d’accès approprié à l’objet Resource Manager. |
|
La valeur du paramètre NotificationLength est trop petite. |
La routine peut retourner d’autres valeurs NTSTATUS .
Remarques
Utilisez la routine ZwGetNotificationResourceManager pour obtenir des notifications de manière synchrone. Utilisez la routine TmEnableCallbacks pour activer les notifications asynchrones.
La structure TRANSACTION_NOTIFICATION reçue contient la clé d’inscription spécifiée par le gestionnaire de ressources lorsqu’il a appelé ZwCreateEnlistment. Vous pouvez utiliser la clé d’inscription pour identifier l’inscription à laquelle la notification s’applique.
Pour plus d’informations sur la routine ZwGetNotificationResourceManager, consultez Création d’unResource Manager.
NtGetNotificationResourceManager et ZwGetNotificationResourceManager sont deux versions de la même routine Windows Native System Services.
Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment de la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Using Nt and Zw Versions of the Native System Services Routines.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures du système d’exploitation. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Wdm.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | = PASSIVE_LEVEL |
règles de conformité DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
Voir aussi
à l’aide de versions Nt et Zw des routines natives des services système