Freigeben über


ntddscsi.h-Header

Dieser Header wird vom Speicher verwendet. Weitere Informationen finden Sie unter:

ntddscsi.h enthält die folgenden Programmierschnittstellen:

IOCTLs

 
IOCTL_ATA_PASS_THROUGH

Ermöglicht es einer Anwendung, fast jeden ATA-Befehl an ein Zielgerät zu senden, mit den folgenden Einschränkungen:_If ein Klassentreiber für den Zieltyp des Geräts vorhanden ist, muss die Anwendung die Anforderung an den Klassentreiber senden.
IOCTL_ATA_PASS_THROUGH_DIRECT

Erfahren Sie, wie IOCTL_ATA_PASS_THROUGH_DIRECT es einer Anwendung ermöglicht, fast jeden ATA-Befehl an ein Zielgerät zu senden.
IOCTL_MINIPORT_PROCESS_SERVICE_IRP

Diese IOCTL wird von einem Benutzermodus-Anwendungs- oder Kernelmodustreiber verwendet, der eine Benachrichtigung erfordert, wenn im virtuellen Miniport etwas von Interesse ist.
IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO

IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO ist die vom System definierte Signatur, die in Verbindung mit dem IOCTL_SCSI_MINIPORT-Steuerelementcode verwendet wird, um anzufordern, dass ein Miniport Dauerdaten für ein Zielgerät zurückgibt.
IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL

IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL ist die Signatur, die in Verbindung mit dem IOCTL_SCSI_MINIPORT Steuerelementcode verwendet wird, um protokollspezifische Daten an einen Miniport zu senden.
IOCTL_MPIO_PASS_THROUGH_PATH

Dieser E/A-Steuerungscode ermöglicht es einer Anwendung oder einem Kerneltreiber, einen SCSI-Befehl an eine bestimmte echte LUN zu senden.
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT

Erfahren Sie, wie dieser E/A-Steuerungscode es einem Anwendungs- oder Kerneltreiber ermöglicht, einen SCSI-Befehl an eine bestimmte echte LUN zu senden.
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX

Die IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX Steuerelementcodeanforderung ist die erweiterte Version der IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT Anforderung. Diese Anforderung bietet Unterstützung für bidirektionale Datenübertragungen und ermöglicht einen Befehlsdatenblock (CDB) > 16 Bytes.
IOCTL_MPIO_PASS_THROUGH_PATH_EX

Die IOCTL_MPIO_PASS_THROUGH_PATH_EX Steuerelementcodeanforderung ist die erweiterte Version der IOCTL_MPIO_PASS_THROUGH_PATH-Anforderung. Diese Anforderung bietet Unterstützung für bidirektionale Datenübertragungen und ermöglicht einen Befehlsdatenblock (CDB) > 16 Bytes.
IOCTL_SCSI_GET_ADDRESS

Gibt die Adressinformationen zurück, z. B. die Ziel-ID (TID) und die logische Einheitennummer (LUN) eines bestimmten SCSI-Ziels.
IOCTL_SCSI_GET_CAPABILITIES

Gibt die Funktionen und Einschränkungen der zugrunde liegenden SCSI-HBA zurück.
IOCTL_SCSI_GET_INQUIRY_DATA

Gibt die SCSI-Untersuchungsdaten für alle Geräte auf einem bestimmten SCSI-Hostbusadapter (HBA) zurück.
IOCTL_SCSI_MINIPORT

Sendet eine spezielle Steuerfunktion an einen HBA-spezifischen Miniporttreiber.
IOCTL_SCSI_MINIPORT_DIAGNOSTIC

Der IOCTL_SCSI_MINIPORT_DIAGNOSTIC Steuerelementcode wird verwendet, um eine Diagnoseanforderung an den Miniport auszuführen.
IOCTL_SCSI_MINIPORT_HYBRID

Der IOCTL_SCSI_MINIPORT_HYBRID Steuercode sendet eine Hybrid-Datenträgersteuerungsanforderung an einen HBA-spezifischen Miniporttreiber.
IOCTL_SCSI_MINIPORT_NVCACHE

Die hier definierten NV-Cacheverwaltungsvorgänge können von Benutzermodusanwendungscode aufgerufen werden, der mit Administratorrechten ausgeführt wird, mithilfe von DeviceIoControl und dem IOCTL_SCSI_MINIPORT-Steuerelementcode.
IOCTL_SCSI_PASS_THROUGH

Ermöglicht einer Anwendung, fast jeden SCSI-Befehl an ein Zielgerät zu senden, mit den folgenden Einschränkungen:Multitarget-Befehle, z. B. KOPIEREN, sind nicht zulässig. Bidirektionale Datenübertragungsvorgänge werden nicht unterstützt. Wenn ein Klassentreiber für den Zieltyp des Geräts vorhanden ist, muss die Anforderung an diesen Klassentreiber gesendet werden. Daher kann eine Anwendung diese Anforderung direkt an den Systemporttreiber für eine Ziel-logische Einheit (LU) senden, wenn es keinen Klassentreiber für den Gerätetyp gibt, der mit dieser LU verbunden ist. Der Systemporttreiber überprüft nicht, ob ein Gerät von einem Klassentreiber beansprucht wurde, bevor er eine Pass-Through-Anforderung verarbeitet. Wenn eine Anwendung daher einen Klassentreiber umgeht, der ein Gerät beansprucht hat und eine Pass-Through-Anforderung für dieses Gerät direkt an den Porttreiber sendet, kann ein Konflikt zur Steuerung des Geräts zwischen dem Klassentreiber und der Anwendung auftreten. Wenn eine Pass-Through-Anforderung an ein Adaptergerätobjekt gesendet wird und aus dem Benutzermodus stammt und auf eine LU abzielt, die von einem Klassentreiber beansprucht wird, schlägt Storport die Anforderung mit STATUS_INVALID_DEVICE_REQUEST fehl. Wenn die Anforderung an ein LU-Geräteobjekt gesendet wird, aus dem Kernelmodus stammt oder auf eine nicht beanspruchte LU abzielt, wird sie an den Miniporttreiber übergeben. Diese Anforderung kann nicht verwendet werden, wenn der CDB möglicherweise den zugrunde liegenden Miniporttreiber benötigt, um direkt auf den Arbeitsspeicher zuzugreifen. Wenn das CDB des Anrufers möglicherweise direkten Zugriff auf den Arbeitsspeicher erfordert, verwenden Sie stattdessen IOCTL_SCSI_PASS_THROUGH_DIRECT. Anwendungen dürfen nicht versuchen, eine Pass-Through-Anforderung asynchron zu senden. Alle Pass-Through-Anforderungen müssen synchron sein. Anwendungen erfordern keine Administratorrechte, um eine Pass-Through-Anforderung an ein Gerät zu senden, aber sie müssen Lese-/Schreibzugriff auf das Gerät haben. Die aufrufende Anwendung erstellt den SCSI-Befehlsdeskriptorblock, der eine Anforderung für Anforderungsoptimierungsdaten enthalten kann, wenn eine CHECK CONDITION auftritt. IOCTL_SCSI_PASS_THROUGH ist eine anforderung für gepufferte Gerätesteuerelemente. Um puffern im Systemspeicher zu umgehen, sollten Aufrufer IOCTL_SCSI_PASS_THROUGH_DIRECT verwenden. Bei der Behandlung einer IOCTL_SCSI_PASS_THROUGH_DIRECT Anforderung sperrt das System den Puffer im Benutzerspeicher und das Gerät greift direkt auf diesen Speicher zu. Diese Anforderung wird in der Regel zum Übertragen kleiner Datenmengen (<16K) verwendet. Anwendungen können diese Anforderung über eine IRP_MJ_DEVICE_CONTROL Anforderung senden. Speicherklassentreiber legen die Neben-IRP-Nummer auf IRP_MN_SCSI_CLASS fest, um anzugeben, dass die Anforderung von einem Speicherklassentreiber verarbeitet wurde.
IOCTL_SCSI_PASS_THROUGH_DIRECT

Ermöglicht einer Anwendung, fast jeden SCSI-Befehl an ein Zielgerät zu senden, mit den folgenden Einschränkungen:Multitarget-Befehle, z. B. KOPIEREN, sind nicht zulässig. Bidirektionale Datenübertragungsvorgänge werden nicht unterstützt. Wenn ein Klassentreiber für den Zieltyp des Geräts vorhanden ist, muss die Anforderung an diesen Klassentreiber gesendet werden. Daher kann eine Anwendung diese Anforderung direkt an den Systemporttreiber für eine ziellogische Einheit senden, wenn kein Klassentreiber für den Typ des mit dieser LU verbundenen Geräts vorhanden ist. Diese Anforderung muss erfolgen, wenn die Eingabe-CDB möglicherweise den zugrunde liegenden Miniporttreiber benötigt, um direkt auf den Arbeitsspeicher zuzugreifen. Die aufrufende Anwendung erstellt den SCSI-Befehlsdeskriptorblock, der eine Anforderung für Anforderungsoptimierungsdaten enthalten kann, wenn eine CHECK CONDITION auftritt. Wenn das CDB einen Datenübertragungsvorgang anfordert, muss der Aufrufer einen Adaptergerät-Ausgerichteten Puffer einrichten, von dem bzw. in den der Miniporttreiber Daten direkt übertragen kann. Diese Anforderung wird in der Regel zum Übertragen größerer Datenmengen (>16K) verwendet. Anwendungen können diese Anforderung über eine IRP_MJ_DEVICE_CONTROL Anforderung senden. Speicherklassentreiber legen die Neben-IRP-Nummer auf IRP_MN_SCSI_CLASS fest, um anzugeben, dass die Anforderung von einem Speicherklassentreiber verarbeitet wurde.
IOCTL_SCSI_PASS_THROUGH_DIRECT_EX

Die IOCTL_SCSI_PASS_THROUGH_DIRECT_EX Steuerelementcodeanforderung ist die erweiterte Version der IOCTL_SCSI_PASS_THROUGH_DIRECT Anforderung. Diese Anforderung bietet Unterstützung für bidirektionale Datenübertragungen und ermöglicht einen Befehlsdatenblock (CDB) > 16 Bytes.
IOCTL_SCSI_PASS_THROUGH_EX

Die IOCTL_SCSI_PASS_THROUGH_EX Steuerelementcodeanforderung ist die erweiterte Version der IOCTL_SCSI_PASS_THROUGH Anforderung. Diese Anforderung bietet Unterstützung für bidirektionale Datenübertragungen und ermöglicht einen Befehlsdatenblock (CDB) > 16 Bytes.
IOCTL_SCSI_RESCAN_BUS

Überprüft die LUNs auf dem Bus(es).

Strukturen

 
ATA_PASS_THROUGH_DIRECT

Die ATA_PASS_THROUGH_DIRECT-Struktur wird in Verbindung mit einer IOCTL_ATA_PASS_THROUGH_DIRECT Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten ATA-Befehl an das Zielgerät zu senden.
ATA_PASS_THROUGH_EX

Die ATA_PASS_THROUGH_EX-Struktur wird zusammen mit einer IOCTL_ATA_PASS_THROUGH Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten ATA-Befehl an das Zielgerät zu senden.
HYBRID_INFORMATION

Die HYBRID_INFORMATION-Struktur enthält Informationen zur Hybriddatenträgerfunktion.
IO_SCSI_CAPABILITIES

Die IO_SCSI_CAPABILITIES-Struktur wird in Verbindung mit der IOCTL_SCSI_GET_CAPABILITIES Anforderung verwendet, um die Funktionen und Einschränkungen des zugrunde liegenden SCSI-Hostadapters abzurufen. Hinweis: Der SCSI-Porttreiber und die SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht verfügbar sein. Stattdessen empfehlen wir die Verwendung der Storport-Treiber- und Storport Miniport-Treibermodelle.
MPIO_PASS_THROUGH_PATH

Die MPIO_PASS_THROUGH_PATH-Struktur wird zusammen mit einer IOCTL_MPIO_PASS_THROUGH_PATH Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
MPIO_PASS_THROUGH_PATH_DIRECT

Die MPIO_PASS_THROUGH_PATH_DIRECT-Struktur wird zusammen mit einer IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
MPIO_PASS_THROUGH_PATH_DIRECT_EX

Die MPIO_PASS_THROUGH_PATH_DIRECT_EX-Struktur wird zusammen mit einer IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
MPIO_PASS_THROUGH_PATH_EX

Die MPIO_PASS_THROUGH_PATH_EX-Struktur wird zusammen mit einer IOCTL_MPIO_PASS_THROUGH_PATH_EX Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
NTSCSI_UNICODE_STRING

Speicherporttreiber können die NTSCSI_UNICODE_STRING Struktur verwenden, um Unicode-Zeichenfolgen zu definieren.
NV_FEATURE_PARAMETER

Die NV_FEATURE_PARAMETER-Struktur wird in Verbindung mit der IOCTL_SCSI_MINIPORT_NVCACHE Anforderung verwendet, um Supportinformationen des NV Cache-Managers vom Gerät abzurufen.
NVCACHE_REQUEST_BLOCK

Die NVCACHE_REQUEST_BLOCK-Struktur wird in Verbindung mit der IOCTL_SCSI_MINIPORT Anforderung zum Verwalten von Hybrid-Festplattengeräten (H-HDD) (z. B. Microsoft ReadyDrive-Technologie) verwendet.
SCSI_ADAPTER_BUS_INFO

Die SCSI_ADAPTER_BUS_INFO-Struktur wird in Verbindung mit der IOCTL_SCSI_GET_INQUIRY_DATA Anforderung zum Abrufen der SCSI-Untersuchungsdaten für alle Geräte in einem bestimmten SCSI-Bus verwendet.
SCSI_ADDRESS

Die SCSI_ADDRESS Struktur wird in Verbindung mit der IOCTL_SCSI_GET_ADDRESS Anforderung verwendet, um die Adressinformationen abzurufen, z. B. die Ziel-ID (TID) und die logische Einheitsnummer (LUN) eines bestimmten SCSI-Ziels.
SCSI_BUS_DATA

Die SCSI_BUS_DATA Struktur wird in Verbindung mit der IOCTL_SCSI_GET_INQUIRY_DATA Anforderung und der SCSI_ADAPTER_BUS_INFO Struktur verwendet, um die SCSI-Untersuchungsdaten für alle Geräte in einem bestimmten SCSI-Bus abzurufen.
SCSI_INQUIRY_DATA

Die SCSI_INQUIRY_DATA-Struktur wird in Verbindung mit der IOCTL_SCSI_GET_INQUIRY_DATA Anforderung zum Abrufen der SCSI-Untersuchungsdaten für alle Geräte in einem bestimmten SCSI-Bus verwendet.
SCSI_PASS_THROUGH

Die SCSI_PASS_THROUGH-Struktur wird in Verbindung mit einer IOCTL_SCSI_PASS_THROUGH Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
SCSI_PASS_THROUGH_DIRECT

Die SCSI_PASS_THROUGH_DIRECT-Struktur wird in Verbindung mit einer IOCTL_SCSI_PASS_THROUGH_DIRECT Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
SCSI_PASS_THROUGH_DIRECT_EX

Die SCSI_PASS_THROUGH_DIRECT_EX-Struktur wird zusammen mit einer IOCTL_SCSI_PASS_THROUGH_DIRECT_EX Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
SCSI_PASS_THROUGH_EX

Die SCSI_PASS_THROUGH_EX-Struktur wird in Verbindung mit einer IOCTL_SCSI_PASS_THROUGH_EX Anforderung verwendet, den Porttreiber anzuweisen, einen eingebetteten SCSI-Befehl an das Zielgerät zu senden.
SRB_IO_CONTROL

SRB_IO_CONTROL Struktur
STORAGE_DIAGNOSTIC_MP_REQUEST

Beschreibt eine Diagnoseanforderung an Miniport. Die STORAGE_DIAGNOSTIC_MP_REQUEST Struktur wird im Eingabe-/Ausgabepuffer einer IOCTL_SCSI_MINIPORT_DIAGNOSTIC Anforderung bereitgestellt.
STORAGE_ENDURANCE_DATA_DESCRIPTOR

Ein Miniport verwendet STORAGE_ENDURANCE_DATA_DESCRIPTOR, um die Ausdauerinformationen eines Geräts an den Speicherporttreiber zu melden.
STORAGE_ENDURANCE_INFO

Ein Miniport verwendet die STORAGE_ENDURANCE_INFO Struktur, um die Ausdauerinformationen eines Geräts zu melden.
STORAGE_FIRMWARE_SLOT_INFO

Erfahren Sie mehr über die STORAGE_FIRMWARE_SLOT_INFO Struktur.

Aufzählungen

 
MP_STORAGE_DIAGNOSTIC_LEVEL

Mit der MP_STORAGE_DIAGNOSTIC_LEVEL-Aufzählung kann der Aufrufer steuern, welche Arten von Daten der Anbieter zurückgeben soll.
MP_STORAGE_DIAGNOSTIC_TARGET_TYPE

Die MP_STORAGE_DIAGNOSTIC_TARGET_TYPE-Aufzählung gibt den Zieltyp einer Speicherdiagnose an.