Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Liest Daten aus dem CD-ROM im unformatierten Modus.
Hauptcode
Eingabepuffer
Wenn die IOCTL aus dem Benutzermodus stammt, enthält Irp->AssociatedIrp.SystemBuffer eine RAW_READ_INFO Struktur, die den Startdatensatz, die Sektoranzahl und den Trackmodus (XA oder CDDA) für den Lesevorgang angibt. Parameters.DeviceIoControl.InputBufferLength- gibt die Größe der Struktur in Bytes an, die >= Sizeof(RAW_READ_INFO) sein muss. Parameters.DeviceIoControl.OutputBufferLength gibt die Größe des zu lesenden Puffers an, der >= Sizeof(SectorCount * RAW_SECTOR_SIZE) sein muss.
Wenn die IOCTL aus dem Kernelmodus stammt, enthält Parameters.DeviceIoControl.Type3InputBuffer eine Struktur, die den Startdatenträgeroffset, die Sektoranzahl und den Trackmodus (XA oder CDDA) für den Lesevorgang angibt. Parameters.DeviceIoControl.OutputBufferLength gibt die Zu lesende Größe des Puffers in Bytes an, die >= Sizeof(SectorCount * RAW_SECTOR_SIZE).
Eingabepufferlänge
Siehe oben.
Ausgabepuffer
Der Treiber schreibt die angeforderten Bytes direkt (mit DMA oder PIO) in den Puffer, der von der MDL bei Irp->MdlAddressbeschrieben wird.
Länge des Ausgabepuffers
Länge einer MDL.
Statusblock
Wenn der Lesevorgang erfolgreich ist, legt der Treiber Status auf STATUS_SUCCESS fest und Informationen auf die Anzahl der übertragenen Bytes. Wenn das Lesen nicht erfolgreich ist, legt der Treiber Informationen auf Null fest und Status auf möglicherweise STATUS_INVALID_PARAMETER, STATUS_INSUFFICIENT_RESOURCES oder STATUS_INVALID_DEVICE_REQUEST.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header- | ntddcdrm.h (enthalten Ntddcdrm.h) |