Partilhar 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 por chamador na qual a função gera uma referência ao objeto IInterruptSync recém-criado. Especifique um valor de ponteiro NULL nulo 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 para NULL.

[in] ResourceList

Ponteiro para o objeto IResourceList que foi fornecido ao driver de miniporto 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.

Valor de retorno

PcNewInterruptSync retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.

Observações

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, OuterUnknowne ResourceList seguem as convenções de contagem de referência para objetos COM.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 2000.
da Plataforma de Destino Universal
cabeçalho portcls.h (inclua Portcls.h)
biblioteca Portcls.lib
IRQL PASSIVE_LEVEL

Consulte também

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType