Função CreateSMSStatusMessage

Em Configuration Manager, a função aloca um objeto de mensagem de status, inicializa-o CreateSMSStatusMessage e recupera um identificador para ele.

Sintaxe

[C/C++]  
typedef DWORD (WINAPI *PROC_CREATESMSSTATUSMESSAGE)  
(  
      PHANDLE phStatusMessageObject,  
      LPCSTR  pszModuleName,  
      DWORD   dwID,  
      DWORD   dwWin32Error,  
      LPCSTR  pszInsStr1,  
      LPCSTR  pszInsStr2,  
      LPCSTR  pszInsStr3,  
      LPCSTR  pszInsStr4,  
      LPCSTR  pszInsStr5,  
      LPCSTR  pszInsStr6,  
      LPCSTR  pszInsStr7,  
      LPCSTR  pszInsStr8,  
      LPCSTR  pszInsStr9,  
      LPCSTR  pszInsStr10   
);  

Parâmetros

phStatusMessageObject
Tipo de dados: PHANDLE

Qualificadores: [dentro, fora]

Ponteiro para o identificador do objeto. Na entrada, forneça um identificador para a mensagem de status a ser criada. No retorno bem-sucedido dessa função, o parâmetro indica o objeto criado. Se a função não tiver êxito, o valor de entrada será deixado inalterado.

pszModuleName
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para o nome do módulo de mensagem de status, uma cadeia de caracteres ASCII encerrada nulo que representa a DLL que contém a cadeia de caracteres de exibição para suas mensagens de aplicativo. O nome do módulo é exibido no Visualizador de Mensagens de Status e Windows NT Visualizador de Eventos como a origem da mensagem de status.

dwID
Tipo de dados: DWORD

Qualificadores: [in]

ID da mensagem de status.

dwWin32Error
Tipo de dados: DWORD

Qualificadores: [in]

Opcional. Código de erro Win32 retornado pela função Win32 GetLastError.

pszInsStr1
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 1 ou para null para nenhuma cadeia de caracteres.

pszInsStr2
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 2 ou para null para nenhuma cadeia de caracteres.

pszInsStr3
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 3 ou para null para nenhuma cadeia de caracteres.

pszInsStr4
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 4 ou para null para nenhuma cadeia de caracteres.

pszInsStr5
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 5 ou para null nenhuma cadeia de caracteres.

pszInsStr6
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 6 ou para null para nenhuma cadeia de caracteres.

pszInsStr7
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 7 ou para null para nenhuma cadeia de caracteres.

pszInsStr8
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 8 ou para null para nenhuma cadeia de caracteres.

pszInsStr9
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 9 ou para null para nenhuma cadeia de caracteres.

pszInsStr10
Tipo de dados: LPCSTR

Qualificadores: [in]

Ponteiro para a cadeia de inserção de mensagem de status 10 ou para null para nenhuma cadeia de caracteres.

Return Values

Essa função retorna um dos valores na tabela a seguir.

Valor Descrição
SMSSTATMSG_SUCCESS O objeto foi criado com êxito.
SMSSTATMSG_OUT_OF_MEMORY A função não conseguiu alocar memória suficiente para criar o objeto.
SMSSTATMSG_ERROR_INVALID_MODULE_NAME O chamador forneceu null ou uma cadeia de caracteres que excedeu SMSSTATMSG_MAX_MODULE_NAME_LENGTH caracteres de comprimento para o pszModuleName parâmetro.
STATMSG_ERROR_INVALID_INSSTR O chamador forneceu uma cadeia de caracteres que excedeu SMSSTATMSG_MAX_INSSTR_LENGTH caracteres de comprimento para um dos parâmetros de cadeia de caracteres de inserção.
SMSSTATMSG_ERROR_UNKNOWN A função encontrou um erro desconhecido ao tentar criar o objeto.

Comentários

Smscstat.h inclui o seguinte #define para chamar CreateSMSStatusMessage usando a função GetProcAddressWin32 .

#define PROCNAME_CREATESMSSTATUSMESSAGE "CreateSMSStatusMessage"  

Privilégios de administrador são necessários para chamar essa função.

Você deve chamar CreateSMSStatusMessage somente no momento exato em que relatar uma mensagem de status é necessário. O motivo dessa regra é que a mensagem de status contém um carimbo de data/hora definido no momento da criação.

Ao chamar essa função, use o phStatusMessageObject para fornecer um objeto que você usará ao chamar as outras funções de relatório de mensagem de status. Observe que a única maneira de desaloque o objeto associado ao identificador é chamar a função ReportSMSStatusMessage, que envia a mensagem de status para o sistema de status Configuration Manager. Você não deve passar esse identificador para a função CloseHandle Win32 ou qualquer outra função semelhante.

O nome do módulo que você fornece para o pszModuleName parâmetro não é o nome da DLL, mas o nome de um módulo Configuration Manager. O servidor do site Configuration Manager contém um mapeamento de nomes de módulo para nomes de DLL. Por exemplo, os componentes do cliente relatam mensagens de status usando o Configuration Manager nome do módulo do cliente. O servidor do site está ciente de que o Configuration Manager cliente corresponde ao Climsgs.dll de arquivo.

O nome do módulo não pode ser localizado para outros idiomas, pois o administrador do Configuration Manager cria consultas e regras de filtro baseadas no nome do componente. Isso ajuda o administrador a recuperar rapidamente suas mensagens de status específicas e a configurar Configuration Manager para lidar com essas mensagens de status de maneiras especiais.

Em suas chamadas para essa função, use o dwID parâmetro para fornecer uma ID de mensagem de status. Como parte do procedimento para preparar seu aplicativo para relatar Configuration Manager mensagens de status, você cria um arquivo .mc que define todas as mensagens. Compilar esse arquivo produz um arquivo .h que contém um #define para cada mensagem de status definida. Você deve fornecer o símbolo #define como a ID da mensagem. Quando o Visualizador de Mensagens de Status ou Windows NT Visualizador de Eventos exibe sua mensagem, ele usa a ID da mensagem que você fornece para pesquisar o texto da mensagem na DLL relacionada.

dwWin32Error No parâmetro, você pode fornecer um código de erro win32 opcional retornado por uma chamada para Win32 GetLastError. Quando o Visualizador de Mensagens de Status ou Windows NT Visualizador de Eventos exibe a mensagem de status, ele substitui a cadeia de caracteres de inserção 12 (%12) na mensagem de status com o seguinte texto: O sistema operacional relatou o erro X: Y. Onde X é o código de erro fornecido aqui e Y é o texto de erro Win32 associado a esse código de erro. Por exemplo, o código de erro 5 é "O acesso é negado".

Normalmente, você fornecerá um código de erro Win32 ao relatar uma mensagem de status imediatamente após uma falha na função Win32. Forneça 0 para indicar ao sistema de status que nenhum código de erro Win32 está associado à mensagem de status, nesse caso, a cadeia de caracteres de inserção 12 está em branco.

Sua chamada para CreateSMSStatusMessage pode fornecer entre zero e 10 cadeias de caracteres de inserção ASCII terminadas em nulo. Essas cadeias de caracteres correspondem às sequências de escape %1, %2, %3 e assim por diante na definição de mensagem de status. Quando o Visualizador de Mensagens de Status ou Windows NT Visualizador de Eventos exibe a mensagem de status, ele substitui as sequências de escape pelos valores fornecidos a essa função.

Requisitos

Smscstat.dll.

Requisitos de runtime

Para obter mais informações, consulte Configuration Manager Requisitos de Runtime do Cliente.

Requisitos de desenvolvimento

Para obter mais informações, consulte Configuration Manager Requisitos de desenvolvimento do cliente.

Confira também

Funções de mensagem de statusSMSCSTAT.DLL