RxDriverEntry 関数 (rxprocs.h)
rxDriverEntry
モノリシック ドライバー以外の場合、この初期化ルーチンは、RDBSS.SYS デバイス ドライバーの DriverEntry ルーチンと同じです。
構文
NTSTATUS RxDriverEntry(
[in] IN PDRIVER_OBJECT DriverObject,
[in] IN PUNICODE_STRING RegistryPath
);
パラメーター
[in] DriverObject
ネットワーク ミニ リダイレクター ドライバーのドライバー オブジェクトへのポインター。 各ドライバーは、DriverEntry ルーチンへのパラメーター内のドライバー オブジェクトへのポインターを受け取ります。 このドライバー オブジェクトは、ネットワーク ミニ リダイレクター ドライバーのデバイス オブジェクトを作成するために使用されます。
[in] RegistryPath
ドライバー パラメーターとその他の構成データが格納される場所へのレジストリ パスを含む Unicode 文字列へのポインター。 通常、このレジストリ パスは、HKLM\System\CurrentControlSet\Services キー
戻り値
RxDriverEntry
リターン コード | 形容 |
---|---|
RXINIT_START | RDBSS の初期化が開始されましたが、エラーが発生しました。 このエラー コードは、値が 5 の内部 RDBSS 列挙型です。 |
備考
RDBSSLIB と静的にリンクされているモノリシック ネットワーク ミニ リダイレクター ドライバー。LIB は、ドライバー リンクされた RDBSSLIB ライブラリのコピーを初期化するために、DriverEntry ルーチンから RxDriverEntry を呼び出す必要があります。 rxDriverEntry
RxDriverEntry 呼び出しが成功すると、内部グローバル RDBBS データ構造が初期化されます。 これらのデータ構造を保護するために、さまざまなスピンロックとミューテックスが作成されます。 これらのデータ構造の 1 つは、RDBSS メモリ データ構造の最上位構造であるRDBSS_DATA構造です。 DriverObject パラメーターは、RDBSS_DATA構造体の DriverObject メンバーに格納されます。 RxDriverEntry では、トレース、ログ記録、デバッグも初期化されます (たとえば、チェックされたビルド)。
RxDriverEntry
RxDriverEntry
このキーを開くことができる場合は、オペレーティング システムのバージョンに応じて、このキーの下にある値の読み取りが試行されます。
Windows XP 以降では、RxDriverEntry
この値は、ブール値として扱われ、読み取り専用ファイルのバイト範囲ロックを処理するための RDBSS 変数 DisableByteRangeLockingOnReadOnlyFiles のブール値として格納される DWORD です。 この変数は、RDBSS が FCB 上のネットワーク ミニ リダイレクターによる新しいSRV_OPEN要求を処理する方法に影響し、属性に互換性がある場合に既存のSRV_OPENに折りたたむことができるかどうかを決定します。 ネットワーク ミニ リダイレクター ドライバーがこの動作を変更する場合、ドライバーは、RxDriverEntry ルーチンが返された後、適切な値に DisableByteRangeLockingOnReadOnlyFiles の値を設定する必要があります。 RDBSSLIB。LIB スタティック ライブラリは、DisableByteRangeLockingOnReadOnlyFiles を外部変数として公開します。
Windows 2000 および Windows XP では、rxDriverEntry
この値は、数値として扱われ、キャッシュ マネージャーで使用される先行読み取り用のPAGE_SIZE ページの数に対する内部 RDBSS オプションの値として格納される DWORD です。 16 より大きいレジストリ値は、この値が 16 (現在許可されている最大値) に制限されているかのように扱われます。 この内部オプションは、プロセッサ上のPAGE_SIZEのページ数として格納されます (たとえば、4K PAGE_SIZEの場合は最大0x10000または 64K)。 Windows 2000 および Windows XP では、RDBSS は CcSetReadAheadGranularity を呼び出し、さまざまな作成、読み取り、書き込み操作に対してこのオプションを使用します。 ネットワーク ミニ リダイレクター ドライバーは、この動作を変更する場合、ドライバーは、RxDriverEntry ルーチンが返された後、適切な値に ReadAheadGranularity の値を設定する必要があります。 RDBSSLIB。LIB スタティック ライブラリは、ReadAheadGranularity を外部変数として公開します。
X86 システムでは、64K はページング書き込みを発行するときにメモリ マネージャーによって発行される最大の書き込みです (キャッシュのフラッシュはメモリ マネージャーを介して書き込みをページングします)。 リモート ファイル システムの場合、64K は最適な選択肢ではありません。 1 つの TDI ネットワーク要求で転送できるデータの大部分は、プロトコル情報のオーバーヘッドが原因で 64K 未満になります。
Windows Server 2003 では、ReadAheadGranularity を設定するレジストリ値は公開されず、RDBSS の既定値は 32K (8 4K PAGE_SIZE ページ) です。 これは、ローカル ファイル システムに採用されているのと同じ既定値です。
RxDriverEntry
RxDriverEntry
モノリシックでないネットワーク ミニ リダイレクター ドライバー (Microsoft SMB リダイレクター) の場合、RDBSS.SYS デバイス ドライバーは、内部的に RxDriverEntry
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の |
デスクトップ |
ヘッダー | rxprocs.h (Rxprocs.h を含む) |
IRQL | <= APC_LEVEL |
関連項目
PsGetCurrentProcess の
RxRegisterMinirdr の
RxSetDomainForMailslotBroadcast の
RxStartMinirdr の
RxStopMinirdr の
RxUnregisterMinirdr の
RxpUnregisterMinirdr の