Função KeInitializeSemaphore (wdm.h)
A rotina KeInitializeSemaphore inicializa um objeto semáforo com uma contagem especificada e especifica um limite superior que a contagem pode atingir.
Sintaxe
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
Parâmetros
[out] Semaphore
Ponteiro para um objeto dispatcher do tipo semáforo, para o qual o chamador fornece o armazenamento.
[in] Count
Especifica o valor de contagem inicial a ser atribuído ao semáforo. Esse valor deve ser positivo. Um valor diferente de zero define o estado inicial do semáforo como sinalizado.
[in] Limit
Especifica o valor de contagem máxima que o semáforo pode alcançar. Esse valor deve ser positivo. Ele determina quantos threads de espera se tornam qualificados para execução quando o semáforo é definido como o estado sinalizado e, portanto, pode acessar o recurso que o semáforo protege.
Retornar valor
Nenhum
Comentários
O objeto semáforo é inicializado com a contagem e o limite iniciais especificados.
O armazenamento de um objeto semáforo deve ser residente: na extensão do dispositivo de um objeto de dispositivo criado pelo driver, na extensão do controlador de um objeto de controlador criado pelo driver ou no pool nãopagado alocado pelo chamador.
Para obter mais informações sobre objetos semáforos, consulte Objetos semáforos.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm), PowerIrpDDis(wdm) |