Funzione ExSetResourceOwnerPointer (wdm.h)
La routine ExSetResourceOwnerPointer imposta il puntatore del thread proprietario per una risorsa executive.
Sintassi
void ExSetResourceOwnerPointer(
[in, out] PERESOURCE Resource,
[in] PVOID OwnerPointer
);
Parametri
[in, out] Resource
Puntatore a una risorsa executive di proprietà del thread corrente.
[in] OwnerPointer
Puntatore a un puntatore del thread proprietario di tipo ERESOURCE_THREAD (per altri requisiti, vedere la sezione Osservazioni seguente).
Valore restituito
nessuno
Osservazioni
ExSetResourceOwnerPointer, usato insieme a ExReleaseResourceForThreadLite, fornisce un mezzo per un thread (che funge da thread di gestione risorse) per acquisire e rilasciare risorse da usare da un altro thread (fungendo da thread utente di risorse).
Dopo aver chiamato ExSetResourceOwnerPointer per una risorsa specifica, l'unica altra routine che può essere chiamata per tale risorsa è ExReleaseResourceForThreadLite.
Il thread di Resource Manager acquisisce la proprietà della risorsa e passa la proprietà al thread utente chiamando ExSetResourceOwnerPointer. Il chiamante deve allocare la memoria per il valore ERESOURCE_THREAD a cui punta OwnerPointer nella memoria di sistema e questa memoria deve rimanere allocata fino a quando exReleaseResourceForThreadLite non restituisce. Il chiamante deve anche impostare i due bit di ordine basso del valore ERESOURCE_THREAD puntato da OwnerPointer su uno. Questa codifica viene usata internamente dai servizi risorse per distinguere tra indirizzi di proprietario e thread.
Quando il thread utente viene eseguito con la risorsa, il thread di Resource Manager rilascia la proprietà della risorsa del thread utente chiamando ExReleaseResourceForThreadLite. Il parametro di input ResourceThreadId viene impostato sul valore del parametro OwnerPointer usato nella chiamata precedente a ExSetResourceOwnerPointer che ha assegnato la proprietà del thread di lavoro della risorsa.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDIs(storport) |