Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W Configuration Manager CreateSMSStatusMessage
funkcja przydziela obiekt komunikatu o stanie, inicjuje go i pobiera do niego dojście.
Składni
[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
);
Parametry
phStatusMessageObject
Typ danych: PHANDLE
Kwalifikatory: [w, na zewnątrz]
Wskaźnik do uchwytu obiektu. Po wprowadzeniu podaj dojście do komunikatu o stanie do utworzenia. Po pomyślnym powrocie z tej funkcji parametr wskazuje utworzony obiekt. Jeśli funkcja nie powiedzie się, wartość wejściowa pozostanie niezmieniona.
pszModuleName
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do nazwy modułu komunikatu o stanie, ciąg ASCII zakończony wartością null reprezentujący bibliotekę DLL zawierającą ciąg wyświetlania komunikatów aplikacji. Nazwa modułu jest wyświetlana w przeglądarce komunikatów o stanie i systemie Windows NT Podgląd zdarzeń jako źródło komunikatu o stanie.
dwID
Typ danych: DWORD
Kwalifikatory: [w]
Identyfikator komunikatu o stanie.
dwWin32Error
Typ danych: DWORD
Kwalifikatory: [w]
Opcjonalne. Kod błędu Win32 zwrócony przez funkcję Win32 GetLastError.
pszInsStr1
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 1 lub do null
bez ciągu.
pszInsStr2
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 2 lub do null
bez ciągu.
pszInsStr3
Typ danych: LPCSTR
Kwalifikatory: [in]
Wskaźnik do ciągu wstawiania komunikatu o stanie 3 lub do null
bez ciągu.
pszInsStr4
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 4 lub do null
bez ciągu.
pszInsStr5
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 5 lub do null
bez ciągu.
pszInsStr6
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 6 lub do null
bez ciągu.
pszInsStr7
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 7 lub do null
bez ciągu.
pszInsStr8
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 8 lub do null
bez ciągu.
pszInsStr9
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 9 lub do null
bez ciągu.
pszInsStr10
Typ danych: LPCSTR
Kwalifikatory: [w]
Wskaźnik do ciągu wstawiania komunikatu o stanie 10 lub do null
bez ciągu.
Wartości zwracane
Ta funkcja zwraca jedną z wartości w poniższej tabeli.
Value | Opis |
---|---|
SMSSTATMSG_SUCCESS | Obiekt został pomyślnie utworzony. |
SMSSTATMSG_OUT_OF_MEMORY | Funkcja nie może przydzielić wystarczającej ilości pamięci, aby utworzyć obiekt. |
SMSSTATMSG_ERROR_INVALID_MODULE_NAME | Podany obiekt null wywołujący lub ciąg, który przekroczył długość SMSSTATMSG_MAX_MODULE_NAME_LENGTH znaków dla parametru pszModuleName . |
STATMSG_ERROR_INVALID_INSSTR | Obiekt wywołujący dostarczył ciąg, który przekroczył długość SMSSTATMSG_MAX_INSSTR_LENGTH znaków dla jednego z parametrów ciągu wstawiania. |
SMSSTATMSG_ERROR_UNKNOWN | Funkcja napotkała nieznany błąd podczas próby utworzenia obiektu. |
Uwagi
Plik Smscstat.h zawiera następujące #define do wywoływania CreateSMSStatusMessage
przy użyciu funkcji GetProcAddress
Win32 .
#define PROCNAME_CREATESMSSTATUSMESSAGE "CreateSMSStatusMessage"
Uprawnienia administratora są wymagane do wywołania tej funkcji.
Należy wywołać CreateSMSStatusMessage
tylko dokładnie w momencie, gdy raportowanie komunikatu o stanie jest konieczne. Przyczyną tej reguły jest to, że komunikat o stanie zawiera sygnaturę czasową ustawioną w czasie tworzenia.
Podczas wywoływania tej funkcji użyj polecenia , phStatusMessageObject
aby podać obiekt, który będzie używany podczas wywoływania innych funkcji raportowania komunikatów o stanie. Należy pamiętać, że jedynym sposobem anulowania alokacji obiektu skojarzonego z dojściem jest wywołanie funkcji ReportSMSStatusMessage, która przesyła komunikat o stanie do systemu stanu Configuration Manager. Nie należy przekazywać tego uchwytu do funkcji CloseHandle
Win32 ani żadnej innej podobnej funkcji.
Podana nazwa modułu dla parametru pszModuleName
nie jest nazwą biblioteki DLL, ale nazwą modułu Configuration Manager. Serwer lokacji Configuration Manager zawiera mapowanie nazw modułów na nazwy bibliotek DLL. Na przykład składniki klienta zgłaszają komunikaty o stanie przy użyciu nazwy modułu klienta Configuration Manager. Serwer lokacji ma świadomość, że klient Configuration Manager odpowiada Climsgs.dll pliku.
Nie można lokalizować nazwy modułu w innych językach, ponieważ administrator Configuration Manager tworzy zapytania i reguły filtru oparte na nazwie składnika. Pomaga to administratorowi w szybkim pobieraniu określonych komunikatów o stanie i konfigurowaniu Configuration Manager do obsługi tych komunikatów o stanie w specjalny sposób.
W wywołaniach tej funkcji użyj parametru dwID
, aby dostarczyć identyfikator komunikatu o stanie. W ramach procedury przygotowywania aplikacji do raportowania komunikatów o stanie Configuration Manager należy utworzyć plik mc definiujący wszystkie komunikaty. Kompilowanie tego pliku powoduje utworzenie pliku h zawierającego #define dla każdego zdefiniowanego komunikatu o stanie. Jako identyfikator komunikatu należy podać symbol #define. Gdy przeglądarka komunikatów o stanie lub system Windows NT Podgląd zdarzeń wyświetla komunikat, używa identyfikatora komunikatu, który podasz, aby wyszukać tekst wiadomości w powiązanej biblioteki DLL.
W parametrze dwWin32Error
możesz podać opcjonalny kod błędu Win32 zwrócony przez wywołanie polecenia Win32 GetLastError
. Gdy Podgląd komunikatów o stanie lub Windows NT Podgląd zdarzeń wyświetla komunikat o stanie, zastępuje ciąg wstawiania 12 (%12) w komunikacie o stanie następującym tekstem: System operacyjny zgłosił błąd X: Y. Gdzie X to kod błędu podany tutaj, a Y to tekst błędu Win32 skojarzony z tym kodem błędu. Na przykład kod błędu 5 to "Odmowa dostępu".
Zazwyczaj podczas raportowania komunikatu o stanie bezpośrednio po awarii funkcji Win32 jest wyświetlany kod błędu Win32. Podaj wartość 0, aby wskazać systemowi stanu, że żaden kod błędu Win32 nie jest skojarzony z komunikatem o stanie, w którym to przypadku ciąg wstawiania 12 jest pusty.
Wywołanie metody może dostarczyć od zera do CreateSMSStatusMessage
10 ciągów wstawiania ascii zakończonych wartością null. Te ciągi odpowiadają sekwencjom ucieczki %1, %2, %3 itd. w definicji komunikatu o stanie. Gdy Podgląd komunikatów o stanie lub Windows NT Podgląd zdarzeń wyświetla komunikat o stanie, zastępuje sekwencje ucieczki wartościami dostarczonymi do tej funkcji.
Wymagania
Smscstat.dll.
Wymagania dotyczące środowiska uruchomieniowego
Aby uzyskać więcej informacji, zobacz Configuration Manager Wymagania dotyczące środowiska uruchomieniowego klienta.
Wymagania programistyczne
Aby uzyskać więcej informacji, zobacz Configuration Manager Wymagania dotyczące programowania klientów.