CreateSMSStatusMessage-Funktion

In Configuration Manager ordnet die CreateSMSStatusMessage Funktion ein status Nachrichtenobjekt zu, initialisiert es und ruft ein Handle ab.

Syntax

[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
);

Parameter

phStatusMessageObject Datentyp: PHANDLE

Qualifizierer: [in, out]

Zeiger auf das Objekthandle. Geben Sie bei der Eingabe ein Handle für die zu erstellende status Nachricht an. Bei erfolgreicher Rückgabe dieser Funktion gibt der Parameter das erstellte Objekt an. Wenn die Funktion nicht erfolgreich ist, bleibt der Eingabewert unverändert.

pszModuleName Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf den Namen des status Nachrichtenmoduls, eine MIT NULL endende ASCII-Zeichenfolge, die die DLL darstellt, die die Anzeigezeichenfolge für Ihre Anwendungsnachrichten enthält. Der Modulname wird in status message viewer und Windows NT Ereignisanzeige als Quelle der status Meldung angezeigt.

dwID Datentyp: DWORD

Qualifizierer: [in]

Statusmeldungs-ID.

dwWin32Error Datentyp: DWORD

Qualifizierer: [in]

Optional. Von der Win32-Funktion zurückgegebener Win32-Fehlercode GetLastError.

pszInsStr1 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 1 oder auf für null keine Zeichenfolge.

pszInsStr2 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 2 oder auf für null keine Zeichenfolge.

pszInsStr3 Datentyp: LPCSTR

Qualifikation: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 3 oder auf für null keine Zeichenfolge.

pszInsStr4 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 4 oder auf für null keine Zeichenfolge.

pszInsStr5 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 5 oder für keine Zeichenfolge.null

pszInsStr6 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 6 oder auf für null keine Zeichenfolge.

pszInsStr7 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 7 oder für keine Zeichenfolge.null

pszInsStr8 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 8 oder für keine Zeichenfolge.null

pszInsStr9 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 9 oder auf für null keine Zeichenfolge.

pszInsStr10 Datentyp: LPCSTR

Qualifizierer: [in]

Zeiger auf status Meldungseinfügungszeichenfolge 10 oder für null keine Zeichenfolge.

Rückgabewerte

Diese Funktion gibt einen der Werte in der folgenden Tabelle zurück.

Wert Beschreibung
SMSSTATMSG_SUCCESS Das Objekt wurde erfolgreich erstellt.
SMSSTATMSG_OUT_OF_MEMORY Die Funktion konnte nicht genügend Arbeitsspeicher zuweisen, um das Objekt zu erstellen.
SMSSTATMSG_ERROR_INVALID_MODULE_NAME Der angegebene null Aufrufer oder eine Zeichenfolge, die SMSSTATMSG_MAX_MODULE_NAME_LENGTH Zeichen für den pszModuleName Parameter überschritten hat.
STATMSG_ERROR_INVALID_INSSTR Der Aufrufer hat eine Zeichenfolge angegeben, die SMSSTATMSG_MAX_INSSTR_LENGTH Zeichen für einen der Parameter der Einfügezeichenfolge überschritten hat.
SMSSTATMSG_ERROR_UNKNOWN Bei der Funktion ist beim Erstellen des Objekts ein unbekannter Fehler aufgetreten.

Bemerkungen

Smscstat.h enthält die folgenden #define zum Aufrufen CreateSMSStatusMessage mithilfe der Win32-Funktion GetProcAddress.

#define PROCNAME_CREATESMSSTATUSMESSAGE "CreateSMSStatusMessage"

Zum Aufrufen dieser Funktion sind Administratorrechte erforderlich.

Sie sollten nur zu dem zeitpunkt aufrufenCreateSMSStatusMessage, zu dem das Melden einer status Nachricht erforderlich ist. Der Grund für diese Regel ist, dass die status Nachricht einen Zeitstempel enthält, der zum Zeitpunkt der Erstellung festgelegt wird.

Wenn Sie diese Funktion aufrufen, verwenden Sie , phStatusMessageObject um ein -Objekt anzugeben, das Sie beim Aufrufen der anderen status Nachrichtenberichtsfunktionen verwenden. Beachten Sie, dass die einzige Möglichkeit zum Aufheben der Zuordnung des Objekts, das dem Handle zugeordnet ist, darin besteht, die ReportSMSStatusMessage-Funktion aufzurufen, die die status Nachricht an das Configuration Manager status System sendet. Sie sollten dieses Handle nicht an die Win32-Funktion CloseHandle oder eine ähnliche Funktion übergeben.

Der Modulname, den Sie für den pszModuleName Parameter angeben, ist nicht der Name der DLL, sondern der Name eines Configuration Manager Moduls. Der Configuration Manager Standortserver enthält eine Zuordnung von Modulnamen zu DLL-Namen. Beispielsweise melden die Clientkomponenten status Nachrichten mithilfe des Configuration Manager Clientmodulnamens. Der Standortserver ist sich bewusst, dass der Configuration Manager Client der Datei entspricht, die Climsgs.dll.

Der Modulname kann nicht in andere Sprachen lokalisiert werden, da der Configuration Manager Administrator Abfragen und Filterregeln erstellt, die auf dem Komponentennamen basieren. Dies unterstützt den Administrator beim schnellen Abrufen Ihrer speziellen status Nachrichten und beim Konfigurieren Configuration Manager, um diese status Nachrichten auf besondere Weise zu verarbeiten.

Verwenden Sie in Ihren Aufrufen dieser Funktion den dwID -Parameter, um eine status-Nachrichten-ID einzugeben. Im Rahmen des Verfahrens zum Vorbereiten ihrer Anwendung zum Melden Configuration Manager status Nachrichten erstellen Sie eine MC-Datei, die alle Nachrichten definiert. Beim Kompilieren dieser Datei wird eine H-Datei mit einem #define für jede definierte status Nachricht erzeugt. Geben Sie das #define-Symbol als Nachrichten-ID an. Wenn status message viewer oder Windows NT Ereignisanzeige Ihre Nachricht anzeigt, verwendet sie die von Ihnen bereitgestellte Nachrichten-ID, um den Nachrichtentext in der zugehörigen DLL nachzuschlagen.

dwWin32Error Im -Parameter können Sie einen optionalen Win32-Fehlercode angeben, der durch einen Aufruf von Win32 GetLastErrorzurückgegeben wird. Wenn der Statusmeldungs-Viewer oder Windows NT Ereignisanzeige die status Meldung anzeigt, wird die Einfügezeichenfolge 12 (%12) in der status Meldung durch den folgenden Text ersetzt: Das Betriebssystem hat Fehler X: Y gemeldet. Dabei steht X für den hier angegebenen Fehlercode und Y für den Win32-Fehlertext, der diesem Fehlercode zugeordnet ist. Fehlercode 5 lautet z. B. "Zugriff verweigert".

In der Regel geben Sie einen Win32-Fehlercode an, wenn Sie eine status Meldung unmittelbar nach einem Win32-Funktionsfehler melden. Geben Sie 0 ein, um status System anzugeben, dass der status Meldung kein Win32-Fehlercode zugeordnet ist. In diesem Fall ist die Einfügezeichenfolge 12 leer.

Ihr Aufruf von CreateSMSStatusMessage kann zwischen null und 10 MIT NULL endende ASCII-Einfügezeichenfolgen bereitstellen. Diese Zeichenfolgen entsprechen den Escapesequenzen %1, %2, %3 usw. in der status Nachrichtendefinition. Wenn der Statusmeldungs-Viewer oder windows NT Ereignisanzeige die status Meldung anzeigt, werden die Escapesequenzen durch die Werte ersetzt, die für diese Funktion bereitgestellt werden.

Anforderungen

Smscstat.dll.

Laufzeitanforderungen

Weitere Informationen finden Sie unter Configuration Manager Anforderungen an die Clientlaufzeit.

Entwicklungsanforderungen

Weitere Informationen finden Sie unter Configuration Manager Cliententwicklungsanforderungen.

Siehe auch

SMSCSTAT.DLL Statusmeldungsfunktionen