MCD_INIT_DATA-Struktur (mcd.h)
Der Changer-Miniklassentreiber füllt die MCD_INIT_DATA-Struktur mit Zeigern auf die internen Befehlsverarbeitungsroutinen und übergibt sie an den Changerklassentreiber.
Syntax
typedef struct _MCD_INIT_DATA {
ULONG InitDataSize;
CHANGER_EXTENSION_SIZE ChangerAdditionalExtensionSize;
CHANGER_INITIALIZE ChangerInitialize;
CHANGER_ERROR_ROUTINE ChangerError;
CHANGER_PERFORM_DIAGNOSTICS ChangerPerformDiagnostics;
CHANGER_COMMAND_ROUTINE ChangerGetParameters;
CHANGER_COMMAND_ROUTINE ChangerGetStatus;
CHANGER_COMMAND_ROUTINE ChangerGetProductData;
CHANGER_COMMAND_ROUTINE ChangerSetAccess;
CHANGER_COMMAND_ROUTINE ChangerGetElementStatus;
CHANGER_COMMAND_ROUTINE ChangerInitializeElementStatus;
CHANGER_COMMAND_ROUTINE ChangerSetPosition;
CHANGER_COMMAND_ROUTINE ChangerExchangeMedium;
CHANGER_COMMAND_ROUTINE ChangerMoveMedium;
CHANGER_COMMAND_ROUTINE ChangerReinitializeUnit;
CHANGER_COMMAND_ROUTINE ChangerQueryVolumeTags;
} MCD_INIT_DATA, *PMCD_INIT_DATA;
Member
InitDataSize
Größe dieser Struktur in Bytes.
ChangerAdditionalExtensionSize
Zeiger auf changer-Miniklassentreiberroutine, die die Anzahl von Bytes zurückgibt, die der Changer-Miniklassentreiber zum Speichern gerätespezifischer Informationen in der Geräteerweiterung benötigt. Diese Routine verfügt über den folgenden Prototyp:
typedef
ULONG
(*CHANGER_EXTENSION_SIZE)(
IN VOID
);
ChangerInitialize
Zeiger auf changer miniclass driver routine that does miniclass driver-specific initialization and readr the changer to receive other requests. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_INITIALIZE)(
IN PDEVICE_OBJECT DeviceObject
);
ChangerError
Zeiger auf changer miniclass driver routine that does device-specific error processing. Diese Routine verfügt über den folgenden Prototyp:
typedef
VOID
(*CHANGER_ERROR_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PSCSI_REQUEST_BLOCK Srb,
IN NTSTATUS *Status,
IN BOOLEAN *Retry
);
ChangerPerformDiagnostics
Zeiger auf die Changer-Miniklassentreiberroutine, die Diagnosetests auf dem Gerät ausführt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_PERFORM_DIAGNOSTICS)(
IN PDEVICE_OBJECT DeviceObject,
OUT PWMI_CHANGER_PROBLEM_DEVICE_ERROR changerDeviceError
);
ChangerGetParameters
Zeiger auf changer miniclass driver routine that handles the device-specific aspects of a device-control IRP with the IOCTL code IOCTL_CHANGER_GET_PARAMETERS. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerGetStatus
Zeiger auf changer miniclass driver routine that handles the device-specific aspects of a device-control IRP with the IOCTL code IOCTL_CHANGER_GET_STATUS. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerGetProductData
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_GET_PRODUCT_DATA behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerSetAccess
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte einer Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_SET_ACCESS behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerGetElementStatus
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_GET_ELEMENT_STATUS behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerInitializeElementStatus
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte einer Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerSetPosition
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte einer Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_SET_POSITION behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerExchangeMedium
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte einer Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_EXCHANGE_MEDIUM behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerMoveMedium
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_MOVE_MEDIUM behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerReinitializeUnit
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_REINITIALIZE_TRANSPORT behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerQueryVolumeTags
Zeiger auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte einer Gerätesteuerungs-IRP mit dem IOCTL-Code von IOCTL_CHANGER_QUERY_VOLUME_TAGS behandelt. Diese Routine verfügt über den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
Hinweise
Diese Struktur wird nur vom Changertreiber in Windows XP und höheren Betriebssystemen verwendet.
Anforderungen
Anforderung | Wert |
---|---|
Header | mcd.h (einschließlich Mcd.h) |
Weitere Informationen
ChangerAdditionalExtensionSize
ChangerInitializeElementStatus
IOCTL_CHANGER_GET_ELEMENT_STATUS
IOCTL_CHANGER_GET_PRODUCT_DATA