次の方法で共有


IOCTL_CDROM_RAW_READ IOCTL (ntddcdrm.h)

生モードで CD-ROM からデータを読み取ります。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

IOCTL がユーザー モードの場合、Irp-AssociatedIrp.SystemBuffer> には、読み取りの開始ディスク オフセット、セクター数、およびトラック モード (XA または CDDA) を指定するRAW_READ_INFO構造体が含まれます。 Parameters.DeviceIoControl.InputBufferLength は、構造体のサイズをバイト単位で指定します。これは= sizeof(RAW_READ_INFO) である必要があります>。 Parameters.DeviceIoControl.OutputBufferLength は、読み取るバッファーのサイズを指定します。値は = sizeof(SectorCount * RAW_SECTOR_SIZE) である必要があります>。

IOCTL がカーネル モードの場合、 Parameters.DeviceIoControl.Type3InputBuffer には、読み取りの開始ディスク オフセット、セクター数、およびトラック モード (XA または CDDA) を指定する構造体が含まれます。 Parameters.DeviceIoControl.OutputBufferLength は、読み取るバッファーのサイズをバイト単位で指定します。値は = sizeof(SectorCount * RAW_SECTOR_SIZE) である必要があります>。

入力バッファーの長さ

上記を参照してください。

出力バッファー

ドライバーは、要求されたバイトを直接書き込みます (DMA または PIO を使用して) Irp-MdlAddress> で MDL によって記述されたバッファー。

出力バッファーの長さ

MDL の長さ。

ステータス ブロック

読み取りが成功した場合、ドライバーは Status を STATUS_SUCCESS に設定し、情報を転送されたバイト数に設定します。 読み取りが成功しなかった場合、ドライバーは Information を 0 に設定し、 Status をSTATUS_INVALID_PARAMETER、STATUS_INSUFFICIENT_RESOURCES、またはSTATUS_INVALID_DEVICE_REQUESTに設定します。

要件

要件
Header ntddcdrm.h (Ntddcdrm.h を含む)

こちらもご覧ください

RAW_READ_INFO