Compartilhar via


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

Confira também

RxLogEventDirect

RxLogEventWithAnnotation

_RxLog