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 Änderungsklassentreiber.
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;
Angehörige
InitDataSize
Größe dieser Struktur in Byte.
ChangerAdditionalExtensionSize
Zeiger auf changer miniclass driver routine that returns the number of bytes the changer miniclass driver requires to store device-specific information in the device extension. Diese Routine hat den folgenden Prototyp:
typedef
ULONG
(*CHANGER_EXTENSION_SIZE)(
IN VOID
);
ChangerInitialize
Zeiger auf changer miniclass driver routine that does miniclass driver-specific initialization and reads the changer to receive other requests. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_INITIALIZE)(
IN PDEVICE_OBJECT DeviceObject
);
ChangerError
Zeiger auf änderungsbasierte Miniklassentreiberroutine, die gerätespezifische Fehlerverarbeitung durchführt. Diese Routine hat 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 changer Miniklassentreiberroutine, die Diagnosetests auf dem Gerät durchführt. Diese Routine hat 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 hat 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 hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerGetProductData
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_GET_PRODUCT_DATAbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerSetAccess
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_SET_ACCESSbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerGetElementStatus
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_GET_ELEMENT_STATUSbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerInitializeElementStatus
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUSbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerSetPosition
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_SET_POSITIONbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerExchangeMedium
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_EXCHANGE_MEDIUMbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerMoveMedium
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_MOVE_MEDIUMbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
ChangerReinitializeUnit
Zeigen Sie auf eine Changer-Miniklassentreiberroutine, die die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_REINITIALIZE_TRANSPORTbehandelt. Diese Routine hat 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 eines Gerätesteuerungs-IRP mit dem IOCTL-Code von IOCTL_CHANGER_QUERY_VOLUME_TAGSbehandelt. Diese Routine hat den folgenden Prototyp:
typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
Bemerkungen
Diese Struktur wird nur vom Änderungstreiber in Windows XP und späteren Betriebssystemen verwendet.
Anforderungen
Anforderung | Wert |
---|---|
Header- | mcd.h (enthalten Mcd.h) |
Siehe auch
ChangerAdditionalExtensionSize
ChangerInitializeElementStatus-
IOCTL_CHANGER_GET_ELEMENT_STATUS
IOCTL_CHANGER_GET_PRODUCT_DATA