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
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) |