SRV_OPEN_ECP_CONTEXT構造体 (ntifs.h)
SRV_OPEN_ECP_CONTEXT構造は、クライアント要求に応じて条件付きでファイルを開くためにサーバーによって使用されます。
構文
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;
メンバー
ShareName
開く ファイルを含 むサーバーの共有名を指定するUNICODE_STRING構造体へのポインター。 このフィールドは省略可能であり、NULL にすることができます。
SocketAddress
クライアント コンピューターのトランスポート アドレスを指定する SOCKADDR_STORAGE 構造体へのポインター。 このクライアントは、開いているファイル要求を生成します。 このフィールドは省略可能であり、NULL にすることができます。
OplockBlockState
サーバー メッセージ ブロック (SMB) サーバーが、oplock の中断を待機している開いているスレッドをブロックするかどうかを示すブール値。 TRUE は 、開いているスレッドがブロック状態であることを示し、それ以外の場合は FALSE を指定します 。
OplockAppState
SMB サーバーが現在開いているスレッドで oplock を要求するかどうかを示すブール値。 oplock を要求する場合は TRUE、それ以外の場合は FALSE に設定します。
OplockFinalState
ファイルを開く操作が、oplock を要求する最終的なファイルを開く操作であるかどうかを示すブール値。 TRUE は 、oplock を取得する最後のファイルを開く操作を示し、 FALSE は それ以外の場合を示します。
Version
この構造体のバージョン。 このメンバーはバージョン 1703 Windows 10追加されているため、アクセスする前に、まずチェックして存在するかどうかを確認する必要があります。 構造体のサイズが >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT,Version) の場合は、このフィールドにアクセスできます。 このメンバーは現在、SRV_OPEN_ECP_CONTEXT_VERSION_2に設定できます。
InstanceType
開いている SRV_INSTANCE_TYPE 。 CSVFS で使用される NTFS または ReFS にアタッチするファイル システム ミニフィルターは、このフィールドを使用して、このオープンが CSVFS をバイパスしているかどうかを検出できます。 開いているが CSVFS を通過する場合、この ECP は存在しないか、インスタンスの種類が SrvInstanceTypeCsv です。 開いているが CSVFS をバイパスしていて、非表示のボリュームに直接移動する場合、 InstanceType は SrvInstanceTypePrimary になります。 InstanceType フィールドは、Version が >= SRV_OPEN_ECP_CONTEXT_VERSION_2の場合にのみ表示されます。
注釈
ファイル システム スタックは、SRV_OPEN_ECP_CONTEXTがファイルの作成要求にアタッチされているかどうかを判断できます。 その後、ファイル システム スタックは、SRV_OPEN_ECP_CONTEXTの情報を使用して、ファイルを開くことを要求したクライアントと、ファイルを要求した理由を判断できます。 ファイル作成要求に関連付けられているSRV_OPEN_ECP_CONTEXT追加情報を取得する方法については、「 ECP の取得」を参照してください。
SRV_OPEN_ECP_CONTEXT構造体は読み取り専用です。 これを使用して、ECP を開いているサーバーに関する情報のみを取得する必要があります。 この問題の詳細については、「 システム定義の ECP」を参照してください。
oplock 状態の値 (OplockBlockState、 OplockAppState、 および OplockFinalState) は、SMB と SMB2 のシステム管理の oplock 破壊的ロジックと共に使用されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | この構造は、Windows 7 以降で使用できます。 |
Header | ntifs.h (Ntifs.h を含む) |