Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.