Condividi tramite


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
STATUS_INVALID_PARAMETER
Il valore del parametro Key è NULL.
STATUS_UNSUCCESSFUL
Il numero di riferimenti dell'oggetto di inserimento specificato è stato decrementato su zero, pertanto il conteggio dei riferimenti non può essere incrementato.
STATUS_INSUFFICIENT_RESOURCES
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

Vedi anche

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

TmDereferenceEnlistmentKey

ZwCreateEnlistment

ZwOpenEnlistment