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 do dispositivo que representa o alterador.
[in] Irp
Ponteiro para o IRP.
Valor de retorno
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 changer 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.
Observações
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 de CHANGER_INITIALIZE_ELEMENT_STATUS como um parâmetro de entrada que indica os elementos para os quais inicializar o status e se deve inicializar o status do elemento com dados obtidos de rótulos de código de barras.
Para um changer SCSI, ChangerInitializeElementStatus cria um SRB com um CDB para inicializar o status do elemento, 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 de status de E/S para tamanhos de(CHANGER_INITIALIZE_ELEMENT_STATUS) antes de retornar ao driver de classe do changer.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | mcd.h (include Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |