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;

Members

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 Server Message Block (SMB) blocca il thread aperto in attesa dell'interruzione di oplock. TRUE indica che il thread aperto è 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 tentare di accedervi è necessario verificare 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 Version è >= SRV_OPEN_ECP_CONTEXT_VERSION_2.

Commenti

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 contenute in SRV_OPEN_ECP_CONTEXT per determinare quale client ha richiesto l'apertura del file e perché lo ha richiesto. Per informazioni su come recuperare il SRV_OPEN_ECP_CONTEXT informazioni aggiuntive allegate a una richiesta di creazione di file, vedere Recupero degli 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 ECP definiti dal sistema.

I valori dello stato oplock (OplockBlockState, OplockAppState e OplockFinalState) vengono usati con la logica di interruzione del blocco operativo per la gestione del sistema per SMB e SMB2.

Requisiti

Requisito Valore
Client minimo supportato Questa struttura è disponibile a partire da Windows 7.
Intestazione ntifs.h (include Ntifs.h)

Vedi anche

SOCKADDR_STORAGE

SRV_INSTANCE_TYPE

UNICODE_STRING