次の方法で共有


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 を要求するかどうかを示すブール値。 操作ロック 要求するには TRUE に設定し、それ以外の場合は FALSE します。

OplockFinalState

ファイルを開く操作が、oplock を要求する最終的なファイルを開く操作であるかどうかを示すブール値。 TRUE は、oplock を取得する最終的なファイルを開く操作を示し、FALSE それ以外の場合を示します。

Version

この構造体のバージョン。 このメンバーは Windows 10 バージョン 1703 で追加されたため、アクセスを試みる前に、まずメンバーが存在するかどうかを確認する必要があります。 構造体のサイズが >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT、バージョン) の場合は、このフィールドにアクセスできます。 このメンバーは現在、SRV_OPEN_ECP_CONTEXT_VERSION_2に設定できます。

InstanceType

オープン元の SRV_INSTANCE_TYPE。 CSVFS で使用される NTFS または ReFS にアタッチするファイル システム ミニフィルターは、このフィールドを使用して、このオープンが CSVFS をバイパスしているかどうかを検出できます。 開いているファイルが CSVFS を通過する場合、この ECP は存在しないか、インスタンスの種類が SrvInstanceTypeCsv です。 開いているファイルが CSVFS をバイパスしていて、非表示のボリュームに直接アクセスする場合、InstanceType は SrvInstanceTypePrimary になります。 InstanceType フィールドは、バージョン = SRV_OPEN_ECP_CONTEXT_VERSION_2 の場合にのみ存在します。

備考

ファイル システム スタックは、SRV_OPEN_ECP_CONTEXTがファイル作成要求にアタッチされているかどうかを判断できます。 その後、ファイル システム スタックは、SRV_OPEN_ECP_CONTEXTの情報を使用して、ファイルを開くことを要求したクライアントと、ファイルを要求した理由を判断できます。 ファイル作成要求に関連付けられているSRV_OPEN_ECP_CONTEXT追加情報を取得する方法については、「ECPの取得」を参照してください。

SRV_OPEN_ECP_CONTEXT構造体は読み取り専用です。 これを使用して、ECP を開いているサーバーに関する情報のみを取得する必要があります。 この問題の詳細については、「System-Defined ECP」を参照してください。

oplock 状態値 (oplockBlockStateOplockAppState、および OplockFinalState) は、SMB および SMB2 のシステム管理に対する oplock 破壊的ロジックと共に使用されます。

必要条件

要件 価値
サポートされる最小クライアント この構造は、Windows 7 以降で使用できます。
ヘッダー ntifs.h (Ntifs.h を含む)

関連項目

SOCKADDR_STORAGE

SRV_INSTANCE_TYPE

UNICODE_STRING