NetMessageBufferSend
Aus API-Wiki
Version vom 1. Mai 2008, 08:54 Uhr von Helge Rex (Diskussion | Beiträge) ("verwaltet von" auskommentiert)
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
Diese Funktion sendet im Netzwerk Nachrichten mit Hilfe des Nachrichtendienstes.
Deklaration
Declare Function NetMessageBufferSend Lib "netapi32.dll" ( _ ByRef lpServerName As Byte, _ ByRef lpMsgName As Byte, _ ByRef lpFromName As Byte, _ ByRef lpBuf As Byte, _ ByVal lnBufLen As Long) As Long
Parameter
lpServerName
- [in] Name der Maschine, die die Nachricht versenden soll.
Dieser Parameter ist ein Zeiger auf NULL oder auf eine mit vbNullChar abgeschlossene Zeichenkette im Unicode-Format. Ist der Parameter NULL oder enthält die Zeichenkette nur vbNullChar, so wird die lokale Maschine zum Versenden der Nachricht verwendet.
Ist der Zeiger ungleich NULL, muß das Benutzerkonto, das diese Funktion aufruft, Mitglied in der Administratoren-, Druck- oder Server-Operator-Gruppe sein.
lpMsgName
- [in] Nachricht, die versandt werden soll.
Dieser Parameter ist ein Zeiger auf NULL oder auf eine mit vbNullChar abgeschlossene Zeichenkette im Unicode-Format.
lpFromName
- [in] Absender der Nachricht.
Dieser Parameter ist ein Zeiger auf NULL oder auf eine mit vbNullChar abgeschlossene Zeichenkette im Unicode-Format.
Ist der Zeiger ungleich NULL, muß das Benutzerkonto, das diese Funktion aufruft, Mitglied in der Administratoren-, Druck- oder Server-Operator-Gruppe sein.
lpBuf
- [in] Nachricht, die versandt werden soll.
Dieser Parameter ist ein Zeiger auf NULL oder auf eine mit vbNullChar abgeschlossene Zeichenkette im Unicode-Format.
lnBufLen
- [in] Größe der Nachricht in Byte.
Beachten Sie, daß Zeichenketten im Unicode-Format mindestens 2 Byte pro Zeichen belegen.
Rückgaben
Diese Funktion gibt einen Wert vom Typ ErrorCodeEnum zurück.
Beispiel
Dim arrbytServer() As Byte ' Maschine, die die Nachricht sendet Dim arrbytDest() As Byte ' Empfänger Dim arrbytMessage() As Byte ' Nachricht Dim lngResult As Long ' Strings in WideChar konvertieren arrbytServer = vbNullChar arrbytDest = Environ$("USERNAME") & vbNullChar arrbytMessage = "Grüße von www.activevb.de" & vbNullChar ' Meldung absetzen lngResult = NetMessageBufferSend( _ arrbytServer(0), _ arrbytDest(0), _ ByVal 0&, _ arrbytMessage(0), _ UBound(arrbytMessage)) ' Falls ein Fehler aufgetreten ist, diesen auslesen If lngResult <> NERR_Success Then Debug.Print "Fehlercode: " & Err.LastDllError End If
Betriebsystem
Die Funktion ist unter folgenden Betriebssystemen funktionsfähig:
- Windows NT 3.1
- Windows NT 3.5
- Windows NT 3.51
- Windows NT 4.0
- Windows NT 5.0 (2000)
- Windows XP (32 Bit und 64 Bit)
- Windows 2003 (32 Bit und 64 Bit)
Verweise
- ActiveVB.de: Tipp 0536: Nachrichten per API übers Netzwerk senden
- MSDN Library: Nachrichten im NT-Netzwerk verschicken
- MS Knowledge Base: Kurznachrichten im Netzwerk verschicken
Quelle