Partager via


structure SRV_OPEN_ECP_CONTEXT (ntifs.h)

La structure SRV_OPEN_ECP_CONTEXT est utilisée par un serveur pour ouvrir des fichiers de manière conditionnelle en réponse aux demandes du client.

Syntaxe

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;

Membres

ShareName

Pointeur vers une structure UNICODE_STRING qui fournit le nom du partage pour le serveur qui contient les fichiers à ouvrir. Ce champ est facultatif et peut être NULL.

SocketAddress

Pointeur vers une structure SOCKADDR_STORAGE qui spécifie l’adresse de transport d’un ordinateur client. Ce client provient de la demande de fichier ouvert. Ce champ est facultatif et peut être null.

OplockBlockState

Valeur booléenne qui indique si le serveur SMB (Server Message Block) bloque le thread ouvert qui attend le saut d’oplock. TRUE indique que le thread ouvert est dans l’état de blocage et FALSE sinon.

OplockAppState

Valeur booléenne qui indique si le serveur SMB demande un oplock avec le thread ouvert actuel. Définissez la valeur TRUE pour demander l’oplock et FALSE sinon.

OplockFinalState

Valeur booléenne qui indique si une opération d’ouverture de fichier est l’opération finale d’ouverture de fichier pour demander l’oplock. TRUE indique l’opération finale d’ouverture de fichier pour obtenir l’oplock et FALSE indique sinon.

Version

Version de cette structure. Ce membre a été ajouté dans Windows 10 version 1703. Avant d’essayer de l’accéder, vous devez d’abord vérifier s’il existe. Si la taille de la structure est >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT, Version), vous pouvez accéder à ce champ. Ce membre peut actuellement être défini sur SRV_OPEN_ECP_CONTEXT_VERSION_2.

InstanceType

Le SRV_INSTANCE_TYPE que l’ouverture provient. Les mini-filtres du système de fichiers qui s’attachent à NTFS ou ReFS utilisés par CSVFS peuvent utiliser ce champ pour détecter si cet ouverture contourne CSVFS. Si l’ouverture passe par CSVFS, cet ECP est absent ou le type d’instance est SrvInstanceTypeCsv. Si l’ouverture contourne CSVFS et accède directement au volume masqué, InstanceType est SrvInstanceTypePrimary. Le champ InstanceType n’est présent que si version est = SRV_OPEN_ECP_CONTEXT_VERSION_2.

Remarques

La pile du système de fichiers peut déterminer si SRV_OPEN_ECP_CONTEXT est attachée à la demande de création de fichier. La pile du système de fichiers peut ensuite utiliser les informations de SRV_OPEN_ECP_CONTEXT pour déterminer le client qui a demandé que le fichier soit ouvert et pourquoi il l’a demandé. Pour plus d’informations sur la récupération de l’SRV_OPEN_ECP_CONTEXT informations supplémentaires attachées à une demande de fichier de création, consultez Récupération des fournisseurs d’applications cloud.

La structure SRV_OPEN_ECP_CONTEXT est en lecture seule. Vous devez l’utiliser pour récupérer des informations sur un serveur open ECP uniquement. Pour plus d’informations sur ce problème, consultez System-Defineddes PPE.

Les valeurs d’état oplock (OplockBlockState, OplockAppStateet OplockFinalState) sont utilisées avec une logique de rupture d’oplock pour la gestion du système pour SMB et SMB2.

Exigences

Exigence Valeur
client minimum pris en charge Cette structure est disponible à partir de Windows 7.
d’en-tête ntifs.h (include Ntifs.h)

Voir aussi

SOCKADDR_STORAGE

SRV_INSTANCE_TYPE

UNICODE_STRING