PPARALLEL_TRY_SELECT_ROUTINE função de retorno de chamada (parallel.h)
A rotina de retorno de chamada do tipo PPARALLEL_TRY_SELECT_ROUTINE seleciona um dispositivo de cadeia de margaridas IEEE 1284.3 ou um dispositivo de fim de cadeia IEEE 1284 anexado a uma porta paralela. O driver de função fornecido pelo sistema para portas paralelas fornece essa rotina.
Sintaxe
PPARALLEL_TRY_SELECT_ROUTINE PparallelTrySelectRoutine;
NTSTATUS PparallelTrySelectRoutine(
[in] PVOID TrySelectContext,
[in] PVOID TrySelectCommand
)
{...}
Parâmetros
[in] TrySelectContext
Ponteiro para a extensão de dispositivo do FDO (objeto de dispositivo funcional) de uma porta paralela.
[in] TrySelectCommand
Ponteiro para uma estrutura PARALLEL_1284_COMMAND . O chamador especifica os seguintes membros:
ID
Especifica a ID do dispositivo 1284.3.
CommandFlags
Especifica um OR bit a bit de zero ou mais dos seguintes sinalizadores:
Valor | Descrição |
---|---|
PAR_END_OF_CHAIN_DEVICE | Especifica um dispositivo de fim de cadeia. |
PAR_HAVE_PORT_KEEP_PORT | Especifica que o chamador tem a porta alocada e para manter a porta alocada. |
Retornar valor
Código de retorno | Descrição |
---|---|
|
O dispositivo foi selecionado. |
|
A ID do dispositivo não é válida. |
|
O chamador não especificou PAR_HAVE_PORT_KEEP_PORT e a porta paralela já está alocada. |
|
O chamador alocou a porta paralela, mas o driver de função fornecido pelo sistema para portas paralelas não pôde selecionar o dispositivo paralelo especificado. |
Comentários
Para obter um ponteiro para o retorno de chamada PPARALLEL_TRY_SELECT_ROUTINE fornecido pelo sistema, um driver de modo kernel usa uma solicitação de IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO , que retorna uma estrutura PARALLEL_PNP_INFORMATION . O membro TrySelectDevice da estrutura PARALLEL_PNP_INFORMATION é um ponteiro para esse retorno de chamada.
Um driver de modo kernel pode usar uma solicitação de IOCTL_INTERNAL_SELECT_DEVICE ou o retorno de chamada PPARALLEL_TRY_SELECT_ROUTINE para selecionar um dispositivo paralelo em uma porta paralela. O driver de função de porta paralela enfileira uma solicitação de seleção se a porta paralela já estiver alocada. No entanto, o retorno de chamada PPARALLEL_TRY_SELECT_ROUTINE não enfileira uma solicitação de seleção e a rotina retornará imediatamente se a porta não puder ser alocada.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | parallel.h (incluir Parallel.h) |
IRQL | <=DISPATCH_LEVEL |
Confira também
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO