PPARALLEL_TRY_SELECT_ROUTINE função de retorno de chamada (parallel.h)
A rotina de retorno de chamada com tipo de PPARALLEL_TRY_SELECT_ROUTINEseleciona um dispositivo de cadeia de conexão IEEE 1284.3 ou um dispositivo de fim de cadeia IEEE 1284 anexado a uma porta paralela. O driver de funções 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 do dispositivo do objeto de dispositivo funcional de uma porta paralela (FDO).
[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 manter a porta alocada. |
Valor de retorno
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. |
Observações
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 IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO, que retorna uma estrutura PARALLEL_PNP_INFORMATION. O TrySelectDevice membro da estrutura PARALLEL_PNP_INFORMATION é um ponteiro para esse retorno de chamada.
Um driver no modo kernel pode usar uma solicitação 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 selecionada se a porta paralela já estiver alocada. No entanto, o retorno de chamada PPARALLEL_TRY_SELECT_ROUTINE não enfileira uma solicitação selecionada e a rotina retorna imediatamente se a porta não puder ser alocada.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | parallel.h (incluir Parallel.h) |
IRQL | <=DISPATCH_LEVEL |
Consulte também
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO