Compartilhar via


Função ChangerInitializeElementStatus (mcd.h)

ChangerInitializeElementStatus manipula os aspectos específicos do dispositivo de um IRP de controle de dispositivo com o código IOCTL IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS.

Sintaxe

NTSTATUS ChangerInitializeElementStatus(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Parâmetros

[in] DeviceObject

Ponteiro para o objeto de dispositivo que representa o alterador.

[in] Irp

Ponteiro para o IRP.

Retornar valor

ChangerInitializeElementStatus retorna o status retornado pelo driver de porta do sistema ou um dos seguintes valores:

STATUS_SUCCESS

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

Se o alterador não der suporte à inicialização de um intervalo de elementos de um tipo específico e ChangerInitializeElementStatus for chamado com um tipo de elemento diferente de AllElements, ele retornará STATUS_INVALID_PARAMETER.

Comentários

Essa rotina é necessária.

ChangerInitializeElementStatus atualiza a memória interna do alterador com informações atuais sobre seus elementos.

O driver de classe do alterador verifica o comprimento do buffer de entrada no local da pilha de E/S antes de chamar ChangerInitializeElementStatus.

Irp-SystemBuffer> aponta para uma estrutura CHANGER_INITIALIZE_ELEMENT_STATUS como um parâmetro de entrada que indica os elementos para os quais inicializar status e se o elemento deve ser inicializado status com dados obtidos de rótulos de código de barra.

Para um alterador SCSI, ChangerInitializeElementStatus cria um SRB com um CDB para inicializar o elemento status, converte endereços de elementos baseados em zero em endereços específicos do dispositivo e envia o SRB para o driver de porta do sistema.

ChangerInitializeElementStatus define o campo Informações no bloco status de E/S como sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS) antes de retornar ao driver de classe do alterador.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho mcd.h (include Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Confira também

CHANGER_ELEMENT_LIST

CHANGER_INITIALIZE_ELEMENT_STATUS

ChangerGetElementStatus