PPARALLEL_TRY_SELECT_ROUTINE funzione di callback (parallel.h)
La routine di callback tipizzata PPARALLEL_TRY_SELECT_ROUTINEseleziona un dispositivo con catena di dati IEEE 1284.3 o un dispositivo di fine catena IEEE 1284 collegato a una porta parallela. Il driver di funzione fornito dal sistema per le porte parallele fornisce questa routine.
Sintassi
PPARALLEL_TRY_SELECT_ROUTINE PparallelTrySelectRoutine;
NTSTATUS PparallelTrySelectRoutine(
[in] PVOID TrySelectContext,
[in] PVOID TrySelectCommand
)
{...}
Parametri
[in] TrySelectContext
Puntatore all'estensione del dispositivo dell'oggetto dispositivo funzionale di una porta parallela (FDO).
[in] TrySelectCommand
Puntatore a una struttura PARALLEL_1284_COMMAND. Il chiamante specifica i membri seguenti:
ID
Specifica l'ID dispositivo 1284.3.
CommandFlags
Specifica un OR bit per bit pari a zero o più dei flag seguenti:
Valore | Descrizione |
---|---|
PAR_END_OF_CHAIN_DEVICE | Specifica un dispositivo end-of-chain. |
PAR_HAVE_PORT_KEEP_PORT | Specifica che il chiamante ha la porta allocata e per mantenere allocata la porta. |
Valore restituito
Codice restituito | Descrizione |
---|---|
|
Il dispositivo è stato selezionato. |
|
L'ID dispositivo non è valido. |
|
Il chiamante non ha specificato PAR_HAVE_PORT_KEEP_PORT e la porta parallela è già allocata. |
|
Il chiamante ha allocato la porta parallela, ma il driver di funzione fornito dal sistema per le porte parallele non è riuscito a selezionare il dispositivo parallelo specificato. |
Osservazioni
Per ottenere un puntatore al callback fornito dal sistema PPARALLEL_TRY_SELECT_ROUTINE, un driver in modalità kernel usa una richiesta di IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO, che restituisce una struttura PARALLEL_PNP_INFORMATION. Il TrySelectDevice membro della struttura PARALLEL_PNP_INFORMATION è un puntatore a questo callback.
Un driver in modalità kernel può usare una richiesta di IOCTL_INTERNAL_SELECT_DEVICE o il callback PPARALLEL_TRY_SELECT_ROUTINE per selezionare un dispositivo parallelo su una porta parallela. Il driver della funzione di porta parallela accoda una richiesta di selezione se la porta parallela è già allocata. Tuttavia, il callback PPARALLEL_TRY_SELECT_ROUTINE non accoda una richiesta di selezione e la routine restituisce immediatamente se la porta non può essere allocata.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | parallel.h (include Parallel.h) |
IRQL | <=DISPATCH_LEVEL |
Vedere anche
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO