Freigeben über


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

ChangerError-

ChangerExchangeMedium-

ChangerGetElementStatus-

ChangerGetParameters-

ChangerGetProductData-

ChangerGetStatus-

ChangerInitialize-

ChangerInitializeElementStatus-

ChangerMoveMedium

ChangerPerformDiagnostics

ChangerQueryVolumeTags

ChangerReinitializeUnit

ChangerSetAccess-

ChangerSetPosition-

IOCTL_CHANGER_EXCHANGE_MEDIUM

IOCTL_CHANGER_GET_ELEMENT_STATUS

IOCTL_CHANGER_GET_PARAMETERS

IOCTL_CHANGER_GET_PRODUCT_DATA

IOCTL_CHANGER_GET_STATUS

IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS

IOCTL_CHANGER_MOVE_MEDIUM

IOCTL_CHANGER_SET_ACCESS

IOCTL_CHANGER_SET_POSITION