Freigeben über


SRV_OPEN_ECP_CONTEXT Struktur (ntifs.h)

Die SRV_OPEN_ECP_CONTEXT-Struktur wird von einem Server verwendet, um Dateien bedingt als Reaktion auf Clientanforderungen zu öffnen.

Syntax

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;

Angehörige

ShareName

Zeigen Sie auf eine UNICODE_STRING Struktur, die den Freigabenamen für den Server bereitstellt, der die zu öffnenden Dateien enthält. Dieses Feld ist optional und kann NULL sein.

SocketAddress

Zeiger auf eine SOCKADDR_STORAGE Struktur, die die Transportadresse eines Clientcomputers angibt. Dieser Client stammt aus der geöffneten Dateianforderung. Dieses Feld ist optional und kann null sein.

OplockBlockState

Ein boolescher Wert, der angibt, ob der Server Message Block (SMB)-Server den geöffneten Thread blockiert, der auf den Oplock-Umbruch wartet. TRUE gibt an, dass sich der geöffnete Thread im Blockierungszustand befindet und andernfalls FALSE .

OplockAppState

Ein boolescher Wert, der angibt, ob der SMB-Server einen Oplock mit dem aktuellen geöffneten Thread anfordert. Legen Sie auf TRUE- fest, um den Oplock anzufordern und andernfalls FALSE zu .

OplockFinalState

Ein boolescher Wert, der angibt, ob es sich bei einem Vorgang zum Öffnen von Dateien um den endgültigen Vorgang zum Öffnen von Dateien handelt, um den Oplock anzufordern. TRUE gibt den endgültigen Vorgang zum Öffnen der Datei an, um den Oplock abzurufen, und FALSE andernfalls angibt.

Version

Version dieser Struktur. Dieses Mitglied wurde in Windows 10, Version 1703, hinzugefügt. Bevor Sie also versuchen, darauf zuzugreifen, müssen Sie zuerst überprüfen, ob es vorhanden ist. Wenn die Strukturgröße >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT, Version) ist, können Sie auf dieses Feld zugreifen. Dieses Element kann derzeit auf SRV_OPEN_ECP_CONTEXT_VERSION_2 festgelegt werden.

InstanceType

Die SRV_INSTANCE_TYPE, von der das Öffnen stammt. Dateisystem-Minifilter, die an NTFS oder ReFS angefügt sind, die von CSVFS verwendet werden, können dieses Feld verwenden, um zu erkennen, ob dieses Öffnen CSVFS umgeht. Wenn das Öffnen CSVFS durchläuft, ist dieses ECP entweder nicht vorhanden, oder der Instanztyp ist SrvInstanceTypeCsv. Wenn das Öffnen CSVFS umgeht und direkt zum ausgeblendeten Volume wechselt, ist InstanceType- SrvInstanceTypePrimary. Das feld InstanceType ist nur vorhanden, wenn Version>= SRV_OPEN_ECP_CONTEXT_VERSION_2 ist.

Bemerkungen

Der Dateisystemstapel kann bestimmen, ob SRV_OPEN_ECP_CONTEXT an die Erstellungsdateianforderung angefügt ist. Der Dateisystemstapel kann dann die Informationen in SRV_OPEN_ECP_CONTEXT verwenden, um zu bestimmen, welcher Client die Datei geöffnet und warum sie angefordert wurde. Informationen zum Abrufen der SRV_OPEN_ECP_CONTEXT zusätzlichen Informationen, die an eine Erstellungsdateianforderung angefügt sind, finden Sie unter Abrufen von ECPs.

Die SRV_OPEN_ECP_CONTEXT Struktur ist schreibgeschützt. Sie sollten es verwenden, um Informationen zu einem Server abzurufen, der nur ECP geöffnet hat. Weitere Informationen zu diesem Problem finden Sie unter System-Defined ECPs.

Die Oplock-Zustandswerte (OplockBlockState, OplockAppStateund OplockFinalState) werden mit oplockbruchlogik für die Systemverwaltung für SMB und SMB2 verwendet.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Diese Struktur ist ab Windows 7 verfügbar.
Header- ntifs.h (einschließlich Ntifs.h)

Siehe auch

SOCKADDR_STORAGE

SRV_INSTANCE_TYPE

UNICODE_STRING