Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

NetMessageBufferSend


Страницы:   1 2

Piter ©   (2004-05-30 17:09:00) 

Не могу понять я этой функции, точнее то, что она должна возвращать.

В Дельфовом SDK про Result ничего не сказано (?).
В MSDN сказано, но у меня NetMessageBufferSend всегда возвращает ноль, независимо от того - успешно или нет произошла отправка сообщения...


Rouse_   (2004-05-31 13:13:00) [21]

> [16] Piter ©   (31.05.04 11:54)
В приведенной тобой же ссылке все замечательно описано:

Return Values
If the function succeeds, the return value is NERR_Success.

If the function fails, the return value can be one of the following error codes.

Return code Description
ERROR_ACCESS_DENIED The user does not have access to the requested information.
ERROR_INVALID_PARAMETER The specified parameter is invalid.
ERROR_NOT_SUPPORTED This network request is not supported.
NERR_NameNotFound The user name could not be found.
NERR_NetworkError A general failure occurred in the network hardware.


Piter   (2004-05-31 11:54:00) [22]

Типа того:

function NetSending(Source: string; Destination: string; Text: string): integer;
var WMsgName : WideString;
 WMsg : WideString;
 MsgLen : integer;
 WSource: WideString;
begin
   WMsg := Text;
   MsgLen := Length(WMsg) * SizeOf(WideChar) ;
   WMsgName := Destination;
   WSource := Source;
   Result:=NetMessageBufferSend(nil,
     PWideChar(WMsgName), PWideChar(WSource),
     PWideChar(WMsg), MsgLen);
end;


Piter   (2004-05-31 11:49:00) [23]

Игорь Шевченко (31.05.04 11:33) [14]

ну код сейчас набросаю... только зачем он, если сообщения отправляются, доходят до адресата и отображаютс там? Логичног предположить, что код  рабочий...


Игорь Шевченко   (2004-05-31 11:33:00) [24]


> А почему у меня все время ноль возвращает?


А где код ?


Piter   (2004-05-31 11:04:00) [25]

BlackTr   (31.05.04 09:49) [11]
И возвращаемые значения у функции есть


это и в MSDN сказано. А почему у меня все время ноль возвращает?


SammIk   (2004-05-31 09:55:00) [26]

2[11]
Базару нет, все так и есть)


BlackTr   (2004-05-31 09:49:00) [27]

servername - этож имя компа, где будет выполняться функция. Там же так и написано: если nil, то функция выполняется локально.
И возвращаемые значения у функции есть :)


SammIk   (2004-05-31 09:23:00) [28]

У меня без \\ работает, а если указать нилл, то по идее
должено на локалхосте высветится сообщение


Piter   (2004-05-30 21:33:00) [29]

Игорь Шевченко (30.05.04 21:31) [8]
Я могу переместить ветку в конференцию "Сети",


да, да. Пожалуйста, если не сложно, переместите


Игорь Шевченко   (2004-05-30 21:31:00) [30]

Piter ©   (30.05.04 20:18)


> при выполнении комманды net send * test сообщение рассылается
> всей подсети (или всему домену? Или всей рабочей группе?)


Всем компьютерам домена, на которых запущена служба Messenger, насколько мне известно, или открыт Mailslot с именем, который совпадает с именем Mailslot, открываемого этой службой.


> Вы хоть скажите - у вас тоже с '\\' не получается иликак?


Я могу переместить ветку в конференцию "Сети", там быстрее ответят. Там этот вопрос регулярно обсуждается.


Piter   (2004-05-30 20:18:00) [31]

где ж я его найду.

Вы хоть скажите - у вас тоже с '\\' не получается иликак?

И еще вот такой вопрос - при выполнении комманды net send * testсообщение рассылается всей подсети (или всему домену? Или всей рабочей группе?). Как осуществить такой же процесс с помощью сабжевой фунцкии? Если в качестве servername указать "- ничего не отсылается...


SammIk   (2004-05-30 18:32:00) [32]

А для начала наиди комп с NT 4 и про тести


Piter   (2004-05-30 17:48:00) [33]

SammIk (30.05.04 17:25) [2]
А в моем сдк за 2000 год сказано


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/netmessagebuffersend.asp


Piter   (2004-05-30 17:48:00) [34]

ну у моего компа нету DNS имени, так что не могу я туда подставлять...


SammIk   (2004-05-30 17:26:00) [35]

Да, еще может быть ты пытаещься поставить\\ к днс имени?
Тогда это не прокатит, а к НетБИОС надо подставлять


SammIk   (2004-05-30 17:25:00) [36]

А в моем сдк за 2000 год сказано, просто
маст хэф \\


Piter   (2004-05-30 17:14:00) [37]

И еще вот сказано:

servername
[in] Pointer to a constant string that specifies the DNS or NetBIOS name of the remote server on which the function is to execute. If this parameter is NULL, the local computer is used.
Windows NT:  This string must begin with \\.


У меня вот W2k и если писать \\ - то сообщение не доходит. С другой стороны, под WinNTможет подразумеваться NT 4.0.
Тогда как же делать? Определять тип ОС, в зависимости от этого использовать '\\' или не использовать? Хм...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо