MRxQuerySdInfo ルーチン
TheMRxQuerySdInfo ルーチンは、ネットワーク ミニ リダイレクターがファイル システム オブジェクトにセキュリティ記述子情報をクエリするように要求するために RDBSS によって呼び出されます。
構文
PMRX_CALLDOWN MRxQuerySdInfo;
NTSTATUS MRxQuerySdInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
パラメーター
RxContext [in, out]
RX_CONTEXT 構造体へのポインター。 このパラメーターには、操作を要求している IRP が含まれています。
戻り値
MRxQuerySdInfo は、成功した場合に STATUS_SUCCESS を返すか、次のような適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
STATUS_ACCESS_DENIED | 呼び出し元には、この操作に対する適切なセキュリティが不足しています。 |
STATUS_BUFFER_OVERFLOW | セキュリティ記述子情報を受け取るバッファーが小さすぎました。 この戻り値は成功と見なす必要があり、RxContext パラメーターが指す RX_CONTEXT 構造体の Info.Buffer メンバーにできるだけ有効なデータを返す必要があります。 |
STATUS_BUFFER_TOO_SMALL | バッファーが小さすぎて、要求されたデータを受信できません。 この値が返された場合、RxContext パラメーターによって指される RX_CONTEXT 構造体の InformationToReturn メンバーは、呼び出しが成功するために予想されるバッファーの最小サイズに設定する必要があります。 |
STATUS_CONNECTION_DISCONNECTED | 接続が切断されました。 |
STATUS_INSUFFICIENT_RESOURCES | クエリを完了するためのリソースが不足していました。 |
STATUS_INVALID_PARAMETER | 無効なパラメーターが指定されました。 |
STATUS_NETWORK_ACCESS_DENIED | ネットワーク アクセスが拒否されました。 |
STATUS_NOT_IMPLEMENTED | リモート ページ ファイルにファイル情報など、要求される機能は実装されていません。 |
STATUS_NOT_SUPPORTED | リモート共有では、セキュリティ記述子情報はサポートされていません。 |
STATUS_OBJECT_PATH_NOT_FOUND | オブジェクト パスが見つからない このエラーは、NTFS ストリーム オブジェクトの情報が要求され、リモート ファイル システムがストリームをサポートしていない場合に返される可能性があります。 |
STATUS_REPARSE | シンボリック リンクを処理するには、再解析が必要です。 |
解説
RDBSS は、IRP_MJ_QUERY_SECURITY 要求の受信に応答して MRxQuerySdInfo の呼び出しを発行します。
MRxQuerySdInfo を呼び出す前に、RDBSS は RxContext パラメーターが指す RX_CONTEXT 構造体の次のメンバーを変更します。
QuerySecurity.SecurityInformation メンバーは IrpSp->Parameters.QuerySecurity.SecurityInformation に設定されます。
Info.Buffer メンバーは、I/O 要求パケットからユーザー バッファーに設定されます。 このバッファーは、必要に応じて RDBSS によって既にロックされています。
Info.LengthRemaining メンバーは IrpSp->Parameters.QuerySecurity.Length に設定されます。
成功した場合、ネットワーク ミニ リダイレクターは、RX_CONTEXT 構造体の InformationToReturn メンバーを、返されるセキュリティ情報の長さに設定する必要があります。 MRxQuerySdInfo の呼び出しが成功した場合、RDBSS は IRP の IoStatus.Information メンバーを RX_CONTEXT の InformationToReturn メンバーに設定します。
要件
対象プラットフォーム |
デスクトップ |
ヘッダー |
Mrx.h (Mrx.h を含む) |