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
ChangerInitializeElementStatus
IOCTL_CHANGER_GET_ELEMENT_STATUS
IOCTL_CHANGER_GET_PRODUCT_DATA
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per