次の方法で共有


SAN サービス プロバイダー向けの IOCTL の実装

SAN サービス プロバイダーがプロキシ ドライバーに I/O コントロール (IOCTL) 要求を送信する場合、ドライバーは、これらの要求を 処理する IRP_MJ_DEVICE_CONTROL ディスパッチ ルーチンを実装する必要があります。 IOCTL 要求には、ドライバーの NIC に割り当てられている IP アドレスの一覧を取得する要求や、メモリの割り当てまたは解放の要求を指定できます。 DriverEntry ルーチンは、ディスパッチ ルーチンのエントリ ポイントを指定する必要があります。

プロキシ ドライバーのデバイス制御ルーチンは、 IoGetCurrentIrpStackLocation 関数を呼び出します。この関数では、デバイス コントロール ルーチンは、ルーチンに渡された IRP へのポインターを渡します。 その後、デバイス制御ルーチンは、受信された IOCTL 要求を判別し、それに応じて要求を処理します。

現在の IOCTL 要求が完了すると、デバイス制御ルーチンは IoCompleteRequest 関数を呼び出し、操作の状態を渡します。 この状態は SAN サービス プロバイダーに返されます。