Função PcNewInterruptSync (portcls.h)
A função PcNewInterruptSync cria e inicializa um objeto de sincronização de interrupção.
Sintaxe
PORTCLASSAPI NTSTATUS PcNewInterruptSync(
[out] PINTERRUPTSYNC *OutInterruptSync,
[in, optional] PUNKNOWN OuterUnknown,
[in] PRESOURCELIST ResourceList,
[in] ULONG ResourceIndex,
[in] INTERRUPTSYNCMODE Mode
);
Parâmetros
[out] OutInterruptSync
Ponteiro de saída para o objeto de sincronização de interrupção criado por essa função. Esse parâmetro aponta para uma variável de ponteiro alocada pelo chamador na qual a função gera uma referência ao objeto IInterruptSync recém-criado. Especifique um valor de ponteiro não NULL válido para esse parâmetro.
[in, optional] OuterUnknown
Ponteiro para a interface IUnknown de um objeto que precisa agregar o objeto. A menos que a agregação seja necessária, defina esse parâmetro como NULL.
[in] ResourceList
Ponteiro para o objeto IResourceList que foi fornecido ao driver de miniport durante a inicialização. O driver de porta examinará essa lista de recursos, mas não a modificará.
[in] ResourceIndex
Especifica o índice do recurso de interrupção na lista de recursos. Se o método IResourceList::NumberOfEntriesOfType retornar uma contagem de N para o tipo CmResourceTypeInterrupt, ResourceIndex deverá ser um valor no intervalo de 0 a N-1.
[in] Mode
Especifica a maneira como vários ISRs são tratados. Defina esse parâmetro como um dos valores de enumeração INTERRUPTSYNCMODE. Para obter mais informações, consulte a seção Comentários a seguir.
Retornar valor
PcNewInterruptSync retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.
Comentários
O parâmetro Mode é definido como um dos valores de enumeração INTERRUPTSYNCMODE na tabela a seguir.
Valor | Significado |
---|---|
InterruptSyncModeNormal | Chame cada ISR na lista até que um deles retorne STATUS_SUCCESS. |
InterruptSyncModeAll | Chame cada ISR na lista exatamente uma vez, independentemente dos códigos de retorno dos vários ISRs. |
InterruptSyncModeRepeat | Percorra toda a lista isr até que ocorra uma viagem pela lista na qual nenhum ISR na lista retorna STATUS_SUCCESS. |
Para obter descrições detalhadas desses três modos, consulte Interromper objetos de sincronização.
Os parâmetros OutInterruptSync, OuterUnknown e ResourceList seguem as convenções de contagem de referência para objetos COM.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | portcls.h (inclua Portcls.h) |
Biblioteca | Portcls.lib |
IRQL | PASSIVE_LEVEL |