Função RtlRunOnceExecuteOnce (ntddk.h)
O RtlRunOnceExecuteOnce executa uma inicialização única.
Sintaxe
NTSYSAPI NTSTATUS RtlRunOnceExecuteOnce(
PRTL_RUN_ONCE RunOnce,
PRTL_RUN_ONCE_INIT_FN InitFn,
PVOID Parameter,
PVOID *Context
);
Parâmetros
[in, out] RunOnce
Um ponteiro para o RTL_RUN_ONCE estrutura de inicialização única.
[in] InitFn
Um ponteiro para uma rotina RunOnceInitialization .
[in, out] Parameter
O valor a ser passado como o parâmetro Parameter para a rotina RunOnceInitialization .
[out] Context
Um ponteiro para uma variável PVOID que recebe os dados inicializados.
Retornar valor
RtlRunOnceExecuteOnce retornará STATUS_SUCCESS se a operação for bem-sucedida ou o código de erro NTSTATUS apropriado se a operação falhar.
Comentários
Para a primeira chamada para RtlRunOnceExecuteOnce para uma estrutura de RTL_RUN_ONCE específica, RtlRunOnceExecuteOnce chama a rotina RunOnceInitialization para inicializar os dados. Cada chamada subsequente para RtlRunOnceExecuteOnce para essa estrutura fornece os mesmos dados inicializados. A rotina RunOnceInitialization não será chamada duas vezes para a mesma estrutura de RTL_RUN_ONCE .
RtlRunOnceExecuteOnce é executado com APCs de kernel normais desabilitadas. A rotina não deve ser chamada em um APC de kernel especial, a menos que todas as chamadas ocorram em APC_LEVEL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows Vista. |
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Ntddk.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (consulte a seção Comentários.) |