estructura SRV_OPEN_ECP_CONTEXT (ntifs.h)
Un servidor usa la estructura SRV_OPEN_ECP_CONTEXT para abrir archivos condicionalmente en respuesta a las solicitudes de cliente.
Sintaxis
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;
Miembros
ShareName
Puntero a una estructura de UNICODE_STRING que proporciona el nombre del recurso compartido para el servidor que contiene los archivos que se van a abrir. Este campo es opcional y puede ser NULL.
SocketAddress
Puntero a una estructura de SOCKADDR_STORAGE que especifica la dirección de transporte de un equipo cliente. Este cliente origina la solicitud de archivo abierto. Este campo es opcional y puede ser NULL.
OplockBlockState
Valor booleano que indica si el servidor de bloque de mensajes del servidor (SMB) bloquea el subproceso abierto que está esperando la interrupción del interbloqueo de operación. TRUE indica que el subproceso abierto está en estado de bloqueo y FALSE de lo contrario.
OplockAppState
Valor booleano que indica si el servidor SMB solicita un interbloqueo con el subproceso abierto actual. Establezca en TRUE para solicitar el interbloqueo y FALSE de lo contrario.
OplockFinalState
Valor booleano que indica si una operación de apertura de archivos es la operación final de apertura de archivos para solicitar el interbloqueo. TRUE indica la operación final de apertura de archivos para obtener el interbloqueo y FALSE indica lo contrario.
Version
Versión de esta estructura. Este miembro se agregó en La versión 1703 de Windows 10, por lo que antes de intentar acceder a él primero debe comprobar si existe. Si el tamaño de la estructura es >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT, Versión), puede acceder a este campo. Este miembro se puede establecer actualmente en SRV_OPEN_ECP_CONTEXT_VERSION_2.
InstanceType
La SRV_INSTANCE_TYPE de la que procede la apertura. Los minifiltros del sistema de archivos que se adjuntan a NTFS o ReFS usados por CSVFS pueden usar este campo para detectar si esta apertura pasa CSVFS. Si la apertura pasa a través de CSVFS, este ECP está ausente o el tipo de instancia es SrvInstanceTypeCsv. Si la apertura pasa CSVFS y va directamente al volumen oculto, InstanceType es SrvInstanceTypePrimary. El campo InstanceType de
Observaciones
La pila del sistema de archivos puede determinar si SRV_OPEN_ECP_CONTEXT está asociado a la solicitud de creación de archivos. Después, la pila del sistema de archivos puede usar la información de SRV_OPEN_ECP_CONTEXT para determinar qué cliente solicitó que se abra el archivo y por qué lo solicitó. Para obtener información sobre cómo recuperar el SRV_OPEN_ECP_CONTEXT información adicional adjunta a una solicitud de creación de archivos, consulte Recuperación de ECP.
La estructura SRV_OPEN_ECP_CONTEXT es de solo lectura. Debe usarlo para recuperar información sobre un servidor abierto solo ECP. Para obtener más información sobre este problema, consulte System-Defined ECPs.
Los valores de estado de interbloqueo (OplockBlockState, OplockAppStatey OplockFinalState) se usan con lógica de interrupción de interbloqueo para la administración del sistema para SMB y SMB2.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Esta estructura está disponible a partir de Windows 7. |
encabezado de |
ntifs.h (incluya Ntifs.h) |