Bagikan melalui


struktur MCD_INIT_DATA (mcd.h)

Driver miniclass pengubah mengisi struktur MCD_INIT_DATA dengan pointer ke rutinitas pemrosesan perintah internalnya dan meneruskannya ke driver kelas changer.

Sintaks

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;

Anggota

InitDataSize

Ukuran struktur ini dalam byte.

ChangerAdditionalExtensionSize

Rutinitas driver miniclass pointer to changer yang mengembalikan jumlah byte yang diperlukan driver miniclass changer untuk menyimpan informasi khusus perangkat di ekstensi perangkat. Rutinitas ini memiliki prototipe berikut:

typedef
ULONG
(*CHANGER_EXTENSION_SIZE)(
  IN VOID
  );

ChangerInitialize

Rutinitas driver miniclass pointer to changer yang melakukan inisialisasi khusus driver miniclass dan membaca pengubah untuk menerima permintaan lain. Rutinitas ini memiliki prototipe berikut:

typedef 
NTSTATUS
(*CHANGER_INITIALIZE)(
  IN PDEVICE_OBJECT  DeviceObject
  );

ChangerError

Rutinitas driver miniclass pointer to changer yang melakukan pemrosesan kesalahan khusus perangkat. Rutinitas ini memiliki prototipe berikut:

typedef
VOID
(*CHANGER_ERROR_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PSCSI_REQUEST_BLOCK  Srb,
  IN NTSTATUS  *Status,
  IN BOOLEAN  *Retry
  );

ChangerPerformDiagnostics

Rutinitas driver miniclass pointer to changer yang melakukan tes diagnostik pada perangkat. Rutinitas ini memiliki prototipe berikut:

typedef 
NTSTATUS
(*CHANGER_PERFORM_DIAGNOSTICS)(
  IN PDEVICE_OBJECT  DeviceObject,
  OUT PWMI_CHANGER_PROBLEM_DEVICE_ERROR  changerDeviceError
  );

ChangerGetParameters

Rutinitas driver miniclass pointer to changer yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_GET_PARAMETERS. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerGetStatus

Rutinitas driver miniclass pointer to changer yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_GET_STATUS. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerGetProductData

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_GET_PRODUCT_DATA. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerSetAccess

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_SET_ACCESS. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerGetElementStatus

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_GET_ELEMENT_STATUS. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerInitializeElementStatus

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerSetPosition

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_SET_POSITION. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerExchangeMedium

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_EXCHANGE_MEDIUM. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerMoveMedium

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_MOVE_MEDIUM. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerReinitializeUnit

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_REINITIALIZE_TRANSPORT. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

ChangerQueryVolumeTags

Penunjuk ke rutinitas driver miniclass pengubah yang menangani aspek khusus perangkat dari IRP kontrol perangkat dengan kode IOCTL IOCTL_CHANGER_QUERY_VOLUME_TAGS. Rutinitas ini memiliki prototipe berikut:

typedef
NTSTATUS
(*CHANGER_COMMAND_ROUTINE)(
  IN PDEVICE_OBJECT  DeviceObject,
  IN PIRP  Irp
  );

Keterangan

Struktur ini digunakan oleh driver pengubah di Windows XP dan sistem operasi yang lebih baru saja.

Persyaratan

Persyaratan Nilai
Header mcd.h (termasuk Mcd.h)

Lihat juga

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