struttura SRV_OPEN_ECP_CONTEXT (ntifs.h)
La struttura SRV_OPEN_ECP_CONTEXT viene utilizzata da un server per aprire in modo condizionale i file in risposta alle richieste client.
Sintassi
typedef struct _SRV_OPEN_ECP_CONTEXT {
PUNICODE_STRING ShareName;
PSOCKADDR_STORAGE_NFS SocketAddress;
BOOLEAN OplockBlockState;
BOOLEAN OplockAppState;
BOOLEAN OplockFinalState;
USHORT Version;
SRV_INSTANCE_TYPE InstanceType;
} SRV_OPEN_ECP_CONTEXT, *PSRV_OPEN_ECP_CONTEXT;
Membri
ShareName
Puntatore a una struttura UNICODE_STRING che fornisce il nome della condivisione per il server che contiene i file da aprire. Questo campo è facoltativo e può essere NULL.
SocketAddress
Puntatore a una struttura SOCKADDR_STORAGE che specifica l'indirizzo di trasporto di un computer client. Questo client ha origine la richiesta di file aperto. Questo campo è facoltativo e può essere NULL.
OplockBlockState
Valore booleano che indica se il server SMB (Server Message Block) blocca il thread aperto in attesa dell'interruzione di oplock. TRUE indica che il thread aperto si trova nello stato di blocco e FALSE in caso contrario.
OplockAppState
Valore booleano che indica se il server SMB richiede un oplock con il thread aperto corrente. Impostare su TRUE per richiedere l'oplock e false in caso contrario.
OplockFinalState
Valore booleano che indica se un'operazione di apertura file è l'operazione di apertura file finale per richiedere l'oplock. TRUE indica l'operazione di apertura file finale per ottenere l'oplock e false indica in caso contrario.
Version
Versione di questa struttura. Questo membro è stato aggiunto in Windows 10 versione 1703, quindi prima di provare ad accedervi devi prima controllare se esiste. Se la dimensione della struttura è >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT, Versione), è possibile accedere a questo campo. Questo membro può essere attualmente impostato su SRV_OPEN_ECP_CONTEXT_VERSION_2.
InstanceType
Il SRV_INSTANCE_TYPE da cui proviene l'apertura. I minifiltri del file system collegati a NTFS o ReFS usati da CSVFS possono usare questo campo per rilevare se l'apertura ignora CSVFS. Se l'apertura passa attraverso CSVFS, questo ECP è assente o il tipo di istanza è SrvInstanceTypeCsv. Se l'apertura ignora CSVFS e passa direttamente al volume nascosto, InstanceType è SrvInstanceTypePrimary. Il campo InstanceType
Osservazioni
Lo stack del file system può determinare se SRV_OPEN_ECP_CONTEXT è collegato alla richiesta di creazione del file. Lo stack del file system può quindi usare le informazioni in SRV_OPEN_ECP_CONTEXT per determinare quale client ha richiesto l'apertura del file e il motivo per cui è stato richiesto. Per informazioni su come recuperare le SRV_OPEN_ECP_CONTEXT informazioni aggiuntive associate a una richiesta di creazione di file, vedere Recupero di ecp.
La struttura SRV_OPEN_ECP_CONTEXT è di sola lettura. È consigliabile usarlo per recuperare informazioni su un server aperto solo ECP. Per altre informazioni su questo problema, vedere System-Defined ECP.
I valori dello stato oplock (OplockBlockState, OplockAppStatee OplockFinalState) vengono usati con la logica di interruzione del blocco per la gestione del sistema per SMB e SMB2.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Questa struttura è disponibile a partire da Windows 7. |
intestazione |
ntifs.h (include Ntifs.h) |