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 de RunOnceInitialization.
[in, out] Parameter
O valor a ser passado como o parâmetro do parâmetro para a rotina RunOnceInitialization.
[out] Context
Um ponteiro para uma variável PVOID que recebe os dados inicializados.
Valor de retorno
RtlRunOnceExecuteOnce retornará STATUS_SUCCESS se a operação for bem-sucedida ou o código de erro NTSTATUS apropriado se a operação falhar.
Observações
Para a primeira chamada para rtlRunOnceExecuteOnce para uma estrutura 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 de 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 |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows Vista. |
da Plataforma de Destino | Universal |
cabeçalho | ntddk.h (inclua Ntddk.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL (consulte a seção Comentários.) |