Funzione ZwOpenResourceManager (wdm.h)
La routine ZwOpenResourceManager restituisce un handle a un oggetto resource manager esistente.
Sintassi
NTSYSCALLAPI NTSTATUS ZwOpenResourceManager(
[out] PHANDLE ResourceManagerHandle,
[in] ACCESS_MASK DesiredAccess,
[in] HANDLE TmHandle,
[in] LPGUID ResourceManagerGuid,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);
Parametri
[out] ResourceManagerHandle
Puntatore a una variabile allocata dal chiamante che riceve l'handle di Resource Manager se la chiamata a ZwOpenResourceManager ha esito positivo.
[in] DesiredAccess
Valore ACCESS_MASK che specifica l'accesso richiesto dal chiamante all'oggetto Resource Manager. Per altre informazioni su come specificare questo parametro, vedere il parametro DesiredAccess di ZwCreateResourceManager. Questo parametro non può essere zero.
[in] TmHandle
Handle a un oggetto di gestione transazioni ottenuto da una chiamata precedente a ZwCreateTransactionManager o ZwOpenTransactionManager.
[in] ResourceManagerGuid
Puntatore al GUID che identifica gestione risorse da aprire.
[in, optional] ObjectAttributes
Puntatore a una struttura OBJECT_ATTRIBUTES che specifica gli attributi dell'oggetto. Usare la routine InitializeObjectAttributes per inizializzare questa struttura, ma specificare solo i parametri InitializedAttributes e Attributes della routine. Se il chiamante non è in esecuzione in un contesto di thread di sistema, deve impostare il flag di OBJ_KERNEL_HANDLE nel parametro Attributi . Questo parametro è facoltativo e può essere NULL.
Valore restituito
ZwOpenResourceManager restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa routine potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
L'handle specificato da TmHandle non è un handle per un oggetto transazione. |
|
L'handle specificato da TmHandle non è valido. |
|
Il chiamante non dispone dell'accesso appropriato all'oggetto di gestione transazioni specificato. |
|
Il parametro DesiredAccess è zero o il parametro ResourceManagerGuid non è valido. |
|
Impossibile trovare gestione risorse specificato. |
|
Gestione transazioni specificato non è online. |
La routine potrebbe restituire altri valori NTSTATUS.
Commenti
In genere, un componente TPS chiama ZwOpenResourceManager dopo aver ricevuto un GUID dell'elenco da un altro componente TPS precedentemente denominato ZwCreateResourceManager. La maggior parte dei progetti TPS non richiede la chiamata di ZwOpenResourceManager.
Un resource manager che chiama ZwOpenResourceManager deve chiamare eventualmente ZwClose per chiudere l'handle dell'oggetto.
Per altre informazioni su ZwOpenResourceManager, vedere Oggetti KTM.
NtOpenResourceManager e ZwOpenResourceManager sono due versioni della stessa routine di Windows Native System Services.
Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.
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, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
Vedi anche
Uso di nt e zw versioni delle routine di Servizi di sistema nativo