Funzione TmReferenceEnlistmentKey (wdm.h)
La routine TmReferenceEnlistmentKey incrementa il conteggio dei riferimenti per la chiave di un oggetto enlistment specificato e recupera la chiave.
Sintassi
NTSTATUS TmReferenceEnlistmentKey(
[in] PKENLISTMENT Enlistment,
[out] PVOID *Key
);
Parametri
[in] Enlistment
Puntatore a un oggetto di inserimento. Il componente può ricevere questo puntatore come input a una routine di callback resourceManagerNotification . In alternativa, il componente può chiamare ObReferenceObjectByHandle e fornire l'handle dell'oggetto che una chiamata precedente a ZwCreateEnlistment, TmCreateEnlistment o ZwOpenEnlistment fornito.
[out] Key
Puntatore a una variabile che riceve la chiave di inserimento dell'oggetto nell'elenco. Il chiamante assegna una chiave di inserimento quando chiama ZwCreateEnlistment o TmCreateEnlistment.
Valore restituito
TmReferenceEnlistmentKey restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa routine potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Il valore del parametro Key è NULL. |
|
Il numero di riferimenti dell'oggetto di inserimento specificato è stato decrementato su zero, pertanto il conteggio dei riferimenti non può essere incrementato. |
|
Il conteggio dei riferimenti è al valore massimo (0xFFFFFFFF) e non può essere incrementato. |
La routine potrebbe restituire altri valori NTSTATUS.
Commenti
La routine TmReferenceEnlistmentKey incrementa il conteggio dei riferimenti per il valore della chiave dell'oggetto enlistment e la routine TmDereferenceEnlistmentKey decrementa il conteggio.
Se un gestore risorse ha definito un valore chiave per un elenco, resource manager riceve il valore della chiave quando chiama ZwGetNotificationResourceManager o quando KTM chiama la routine di callback ResourceManagerNotification .
Mentre un gestore risorse elabora una notifica, può usare la chiave come puntatore a un'allocazione di memoria temporanea e può usare il conteggio dei riferimenti per determinare quando deve deallocare la memoria.
Per informazioni su quando usare le routine TmXxx di KTM anziché le routine Zw Xxx, vedere Uso di routine TmXxx.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive del sistema operativo. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |