Compartilhar via


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

Confira também

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType