Udostępnij za pośrednictwem


CreateSMSStatusMessage, funkcja

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 GetProcAddressWin32 .

#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.

Zobacz też

funkcje komunikatów o stanieSMSCSTAT.DLL