Condividi tramite


MCD_INIT_DATA struttura (mcd.h)

Il driver miniclasse changer riempie la struttura MCD_INIT_DATA con puntatori alle routine di elaborazione dei comandi interne e li passa al driver di classe changer.

Sintassi

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;

Members

InitDataSize

Dimensioni di questa struttura in byte.

ChangerAdditionalExtensionSize

Puntatore alla routine del driver miniclass di modifica che restituisce il numero di byte del driver miniclass del changer richiede di archiviare informazioni specifiche del dispositivo nell'estensione del dispositivo. Questa routine ha il prototipo seguente:

typedef
ULONG
(*CHANGER_EXTENSION_SIZE)(
  IN VOID
  );

ChangerInitialize

Puntatore alla routine del driver miniclass che esegue l'inizializzazione specifica del driver miniclasse e legge il changer per ricevere altre richieste. Questa routine ha il prototipo seguente:

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

ChangerError

Puntatore alla routine del driver miniclass di changer che esegue l'elaborazione degli errori specifici del dispositivo. Questa routine ha il prototipo seguente:

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

ChangerPerformDiagnostics

Puntatore alla routine del driver miniclasse changer che esegue test di diagnostica nel dispositivo. Questa routine ha il prototipo seguente:

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

ChangerGetParameters

Puntatore alla routine del driver miniclass che gestisce gli aspetti specifici del dispositivo di un'IRP di controllo del dispositivo con il codice IOCTL IOCTL_CHANGER_GET_PARAMETERS. Questa routine ha il prototipo seguente:

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

ChangerGetStatus

Puntatore alla routine del driver miniclass che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_GET_STATUS. Questa routine ha il prototipo seguente:

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

ChangerGetProductData

Puntatore a una routine del driver miniclass di changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_GET_PRODUCT_DATA. Questa routine ha il prototipo seguente:

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

ChangerSetAccess

Puntatore a una routine del driver miniclass di changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_SET_ACCESS. Questa routine ha il prototipo seguente:

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

ChangerGetElementStatus

Puntatore a una routine del driver miniclass di changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_GET_ELEMENT_STATUS. Questa routine ha il prototipo seguente:

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

ChangerInitializeElementStatus

Puntatore a una routine del driver miniclass di changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS. Questa routine ha il prototipo seguente:

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

ChangerSetPosition

Puntatore a una routine del driver miniclass di changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_SET_POSITION. Questa routine ha il prototipo seguente:

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

ChangerExchangeMedium

Puntatore a una routine del driver miniclass di changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_EXCHANGE_MEDIUM. Questa routine ha il prototipo seguente:

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

ChangerMoveMedium

Puntatore a una routine del driver miniclass del changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_MOVE_MEDIUM. Questa routine ha il prototipo seguente:

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

ChangerReinitializeUnit

Puntatore a una routine del driver miniclass di changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_REINITIALIZE_TRANSPORT. Questa routine ha il prototipo seguente:

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

ChangerQueryVolumeTags

Puntatore a una routine del driver miniclass del changer che gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL di IOCTL_CHANGER_QUERY_VOLUME_TAGS. Questa routine ha il prototipo seguente:

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

Commenti

Questa struttura viene usata solo dal driver changer in Windows XP e dai sistemi operativi successivi.

Requisiti

Requisito Valore
Intestazione mcd.h (include Mcd.h)

Vedi anche

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