Função RxLogEventWithBufferDirect (rxprocs.h)
RxLogEventWithBufferDirect aloca uma estrutura de log de erros de E/S, preenche-a com informações e grava a entrada no log de erros de E/S.
Sintaxe
void RxLogEventWithBufferDirect(
IN PVOID DeviceOrDriverObject,
[in] IN PUNICODE_STRING OriginatorId,
[in] IN ULONG EventId,
[in] IN NTSTATUS Status,
[in] IN PVOID DataBuffer,
[in] IN USHORT DataBufferLength,
[in] IN ULONG LineNumber
);
Parâmetros
DeviceOrDriverObject
Um ponteiro para o objeto de dispositivo RDBSS.
[in] OriginatorId
A cadeia de caracteres que indica o chamador que está gerando o erro.
[in] EventId
O valor que indica o código de log de erros de E/S que é diferente de um valor NTSTATUS retornado por uma rotina. Os valores de código de log de erros de E/S legais são definidos no arquivo de cabeçalho ntiolog.h incluído no SDK do Microsoft Windows e no Visual Studio.
[in] Status
O valor que indica o código status de uma rotina que indica uma falha.
[in] DataBuffer
Um ponteiro para um buffer de dados a ser adicionado à estrutura do log de erros de E/S.
[in] DataBufferLength
O comprimento do buffer de dados a ser adicionado à estrutura do log de erros de E/S.
[in] LineNumber
O número de linha no arquivo de código-fonte em que essa falha ocorreu.
Retornar valor
Nenhum
Comentários
RxLogEventDirect chama internamente a rotina RxLogEventWithAnnotation para criar e gravar a entrada de log passando os parâmetros Status e LineNumber como o parâmetro Annotations para RxLogEventWithAnnotation.
O tamanho da entrada do log de erros de E/S é limitado a um comprimento de 255 caracteres. Portanto, se o comprimento combinado dos parâmetros EventId, DataBuffer e Annotations mais o tamanho da parte fixa da entrada de log de erros de E/S exceder 255, nenhuma entrada de log de erros de E/S será criada.
A rotina RxLogEventWithAnnotation precisa alocar memória para criar a entrada de log de erros de E/S . Consequentemente, RxLogEventWithBufferDirect poderá falhar silenciosamente se a alocação de memória falhar.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | rxprocs.h (inclua Rxprocs.h, Rxstruc.h) |
IRQL | <= APC_LEVEL |