Condividi tramite


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 è presente solo se versione è = SRV_OPEN_ECP_CONTEXT_VERSION_2.

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)

Vedere anche

SOCKADDR_STORAGE

SRV_INSTANCE_TYPE

UNICODE_STRING