|
you could try http://netbula.com/oncrpc/[^] (I havnt used this one...) the one I have used is by a gentleman called Martin Gergleit (sp may be wrong or its Gergeleit) but I cant find a link for that anymore (my work has a commercial license so I cant give you a copy)
there were a couple of other companies offering commercial onc rpc for windows, I cant seem to recall them
(FYI : I was issuing RPC calls from Solaris to a Windows Service quite happily)
try searching for :-
win32 onc rpc
hope this helps, 'G'
-- modified at 8:14 Thursday 13th April, 2006
|
|
|
|
|
PS
Is this the same XDR as the image format? Hope I am not getting two different things confused!
|
|
|
|
|
well, XDR is an acronym for eXternal Data Representation - so I see no reason why it cant be both data being transmitted across the wire, or a way of describing an image - a quick google search would suggest either
except in this case I suspect you're correct, XDR as an image format may not quite be what Ive shown...
I wonder if GNU has an XDR library ....
ok, the only two things I can find are :-
http://members.tripod.com/martin_leese/Personal/ipox.html[^]
and of course, an RFC
http://www.faqs.org/rfcs/rfc1014.html[^]
as I said (somewhere), I know there was a set of XDR articles on CUJ a long while back, they may be the best if you find no other starting point ... you also said ".SCAN files from a Synergy kilovoltage imaging unit " can Synergy not tell you what 'tags' they have used in the XDR files ?
sorry, may not have been much help
'g'
|
|
|
|
|
sorry to bombard you - found something useful - I remembered that Martin/His work sprang from RWTH Aachen (University/Tech institute in Germany ?) and just trolled their archives .... here's a link that may give you what you want (ok, its mostely in German, but its a start)
http://www.plt.rwth-aachen.de/index.php?id=258&L=1[^]
CUJ also ran a series of (B)leeding Edge Articles a long while back, on XDR for serialisation (didnt include network stuff as far as I remember) - you may be able to troll their archives ... if you want to go this route let me know and I'll try and search my CDROM of their index
'g'
-- modified at 8:29 Thursday 13th April, 2006
|
|
|
|
|
Many thanks
basically I have some .SCAN files from a Synergy kilovoltage imaging unit on a medical linear accelerator and want to manipulate the raw image data (3d image cube) which I'm told is an XDR format. I'm going to be changing the pixel values, then reimporting the files and testing image registration performance
|
|
|
|
|
How to start a html help file (.chm) in my VC++ MFC project? Or, we should use other format of help file?
I had already used the htmlhelp.h from HTML Workshop.
I like to create my own chm(hh.exe) in which i can open all the chm files
Thanks in advance
|
|
|
|
|
Use ShellExecute().
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
Sorry..
It doesn't work...
I have to create a chm using MFC and display its contents on UI(which should be similar to chm)..Suppose if i press some button like Help in the menu,the chm should be launched..I should first create the chm header,content etc and then load it and display it..
Can Anyone Help?????????
|
|
|
|
|
zxc89 wrote: It doesn't work...
What code did you use?
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
|
I had already seen that..It didn't help me!!
Anyways..Thanks
|
|
|
|
|
|
I had already seen that..It didn't help me!!
Anyways..Thanks
|
|
|
|
|
hai to all
i want to do an application so that i can select a directory and by monitoring the selected directory i need to report the changes made in that directory.
For that i have used a browse button to select the directory and displayed the selected directory to be monitored in the edit box.
for this i have written like this :
BROWSEINFO bi;
TCHAR m_DisplayName[MAX_PATH];
m_DisplayName[0]='\0';
memset(&bi, 0x00, sizeof(bi));
bi.hwndOwner = this->m_hWnd;
bi.pszDisplayName = m_DisplayName;
bi.ulFlags = BIF_EDITBOX;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl)
SHGetPathFromIDList(pidl, m_DisplayName);
GetDlgItem(IDC_EDIT)->SetWindowText(m_DisplayName);
Next i need a list control for displaying the changed directory files with
column path and size and date.
here my problem is how can i map the column path,size,date of the directory files to the columns in the listcontrol.
|
|
|
|
|
Create a CListCtrl in your project,
use InsertColumn to create the path, size and date columns,
use SetItem/InsertItem to modify/add entries in the CListCtrl
~RaGE();
|
|
|
|
|
Use ReadDirectoryChangesW() or FindFirstChangeNotification() .
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
|
hai whitesky
the link which u have send is helpful to me.Thanks alot.
there is a small problem here.ihave a browse button through i will select the path of the directory to which i need to monitor.
To get that one i have used a variable to store the path .Now iwant that variable to be placed in the place where a predefined path is mentioned.
But when place that variable there a error message that:Undeclared Identifier is coming.
what should i do to give the path which i want to moniter.
|
|
|
|
|
keerthikaaa wrote: what should i do to give the path which i want to moniter.
Without seeing the relevant code snippet, it's impossible to say.
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
hai DavidCrow
here i am sending u the code
<void ThreadRoute1( void* arg )
{
USES_CONVERSION;
HANDLE hDir = CreateFile(m_sResults, // pointer to the file name
FILE_LIST_DIRECTORY, // access (read/write) mode
FILE_SHARE_READ|FILE_SHARE_DELETE, // share mode
NULL, // security descriptor
OPEN_EXISTING, // how to create
FILE_FLAG_BACKUP_SEMANTICS, // file attributes
NULL // file with attributes to copy
);
FILE_NOTIFY_INFORMATION Buffer[1024];
DWORD BytesReturned;
while( ReadDirectoryChangesW(
hDir, // handle to directory
&Buffer, // read results buffer
sizeof(Buffer), // length of buffer
TRUE, // monitoring option
FILE_NOTIFY_CHANGE_SECURITY|
FILE_NOTIFY_CHANGE_CREATION|
FILE_NOTIFY_CHANGE_LAST_ACCESS|
FILE_NOTIFY_CHANGE_LAST_WRITE|
FILE_NOTIFY_CHANGE_SIZE|
FILE_NOTIFY_CHANGE_ATTRIBUTES|
FILE_NOTIFY_CHANGE_DIR_NAME|
FILE_NOTIFY_CHANGE_FILE_NAME, // filter conditions
&BytesReturned, // bytes returned
NULL, // overlapped buffer
NULL// completion routine
))
{
CTime tm = CTime::GetCurrentTime();
CString helper_txt;
switch(Buffer[0].Action)
{
case FILE_ACTION_ADDED: helper_txt = "The file was added to the directory"; break;
case FILE_ACTION_REMOVED: helper_txt = "The file was removed from the directory"; break;
case FILE_ACTION_MODIFIED: helper_txt = "The file was modified. This can be a change in the time stamp or attributes."; break;
case FILE_ACTION_RENAMED_OLD_NAME: helper_txt = "The file was renamed and this is the old name."; break;
case FILE_ACTION_RENAMED_NEW_NAME: helper_txt = "The file was renamed and this is the new name."; break;
}
int i=0;
do
{
m_Sec.Lock();
int item = pList1->InsertItem(pList1->GetItemCount(), CString(Buffer[i].FileName).Left(Buffer[i].FileNameLength / 2) + " - " + helper_txt );
pList1->SetItemText(item, 1, tm.Format("%Y/%m/%d/ - %H:%M:%S"));
i++;
m_Sec.Unlock();
}
while (!Buffer[i].NextEntryOffset);
}
}
void CFileSpyView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
pList1 = &m_List1;
m_List1.InsertColumn(0, CString("Path"), LVCFMT_LEFT, 100, 0 );
m_List1.InsertColumn(2, CString("Date/Time occured"), LVCFMT_LEFT, 100, 1 );
}
oid CFileSpyView::OnBrowse()
{
// TODO: Add your control notification handler code here
BROWSEINFO bi;
TCHAR m_DisplayName[MAX_PATH];
m_DisplayName[0]='\0';
memset(&bi, 0x00, sizeof(bi));
bi.hwndOwner = this->m_hWnd;
bi.pszDisplayName = m_DisplayName;
bi.ulFlags = BIF_EDITBOX;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl)
SHGetPathFromIDList(pidl, m_DisplayName);
//GetDlgItem(IDC_EDIT)->SetWindowText(m_DisplayName);
// UpdateData(TRUE);
m_sResults=m_DisplayName;
UpdateData(FALSE);
Dir=m_sResults;
}
void CFileSpyView::OnBstart()
{
// TODO: Add your control notification handler code here
_beginthread( ThreadRoute1, 0, 0 );
}
void CFileSpyView::OnBstop()
{
// TODO: Add your control notification handler code here
_endthread();
}
>
here when i click the browse button a dailog opens to select adirectory and when when i click the start button the threads starts by monitoring the selceted directory and thread stops when i click the stop button.
the selected directory path i have stored in the edit box variable and i have used it to create the directory in the thread .But i am not able to get that directory monitored.
when i place a "c:\\"in the directory place instead of variable i can get only the specified path monitored.
i want the path which i have selected to be monitored.
Thanks in advance
|
|
|
|
|
keerthikaaa wrote: _beginthread( ThreadRoute1, 0, 0 );
Why are you not using AfxBeginThread() here?
keerthikaaa wrote: ...i have used it to create the directory in the thread .
Where?
keerthikaaa wrote: when i place a "c:\\"in the directory place instead of variable i can get only the specified path monitored.
What else would you expect?
keerthikaaa wrote: i want the path which i have selected to be monitored.
What is the value of m_sResults ?
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
I am trying to get a program to download from an ftp site, this works fine, but i need the program to be able to resume, i have used the REST command and sent it the start point to resume from, but it doesnt seem to work. i open the file i am downloading to and set the start point, this seem ok, but the download file start point doesnt seem to work, this just starts downloading from the begining again, so what i end up with is a file that is bigger than the file been downloaded...
can anyone shed some light on where i may be going wrong ??
Thanks
Lee
|
|
|
|
|
Hai To All Members,
Can Any one Explain if select one the predefined Registry Root Key then monitor all sub keys of that root registry key . i Know one thing by using threads it is easy to monitor but i dont know how ?
And display if any changes occures when begin the monitoring in a list control..........
Plz Help Me........
|
|
|
|
|
To enumerate the subkeys, use this function:
LONG RegEnumKeyEx(
HKEY hKey,
DWORD dwIndex,
LPTSTR lpName,
LPDWORD lpcbName,
LPDWORD lpReserved,
LPTSTR lpClass,
LPDWORD lpcbClass,
PFILETIME lpftLastWriteTime
);
To monitor keys, use this function:
LONG RegNotifyChangeKeyValue(
HKEY hKey,
BOOL bWatchSubtree,
DWORD dwNotifyFilter,
HANDLE hEvent,
BOOL fAsynchronous
);
~RaGE();
|
|
|
|
|
See here.
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|