| Update of /cvsroot/pywin32/pywin32/win32/src/win32net
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20006/src/win32net
Modified Files:
	win32net.h win32netmodule.cpp 
Log Message:
Add NetGetJoinInformation and related constants.
Index: win32netmodule.cpp
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/win32net/win32netmodule.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** win32netmodule.cpp	13 Jan 2005 00:10:26 -0000	1.18
--- win32netmodule.cpp	8 Jun 2005 01:34:25 -0000	1.19
***************
*** 39,42 ****
--- 39,44 ----
  #include "assert.h"
  
+ NetGetJoinInformationfunc pfnNetGetJoinInformation=NULL;
+ 
  /*****************************************************************************/
  /* error helpers */
***************
*** 940,943 ****
--- 942,975 ----
  }
  
+ // @pymethod <o PyUnicode>, int|win32net|NetGetJoinInformation|Retrieves join status information for the specified computer.
+ static PyObject *PyNetGetJoinInformation(PyObject *self, PyObject *args)
+ {
+ 	PyObject *obServer = Py_None;
+ 	WCHAR *server = NULL;;
+ 	WCHAR *result = NULL;
+ 	PyObject *ret = NULL;
+ 	NET_API_STATUS err;
+ 	NETSETUP_JOIN_STATUS status;
+ 	if (!PyArg_ParseTuple(args, "|O:NetGetJoinInformation", &obServer))
+ 		return NULL;
+ 	if (pfnNetGetJoinInformation==NULL){
+ 		PyErr_SetString(PyExc_NotImplementedError,"NetGetJoinInformation does not exist on this platform");
+ 		goto done;
+ 	}
+ 	if (!PyWinObject_AsWCHAR(obServer, &server, TRUE))
+ 		goto done;
+ 	Py_BEGIN_ALLOW_THREADS
+ 	err = (*pfnNetGetJoinInformation)(server, &result, &status);
+ 	Py_END_ALLOW_THREADS
+ 	if (err) {
+ 		ReturnNetError("NetGetJoinInformation", err);
+ 		goto done;
+ 	}
+ 	ret = Py_BuildValue("Nl", PyWinObject_FromWCHAR(result), status);
+ done:
+ 	PyWinObject_FreeWCHAR(server);
+ 	NetApiBufferFree(result);
+ 	return ret;	
+ }
  /*************************************************************************************************************
  **
***************
*** 1014,1017 ****
--- 1046,1050 ----
  // @module win32net|A module encapsulating the Windows Network API.
  static struct PyMethodDef win32net_functions[] = {
+ 	{"NetGetJoinInformation",   PyNetGetJoinInformation,    1}, // @pymeth NetGetJoinInformation|Retrieves join status information for the specified computer.
  	{"NetGroupGetInfo",         PyNetGroupGetInfo,          1}, // @pymeth NetGroupGetInfo|Retrieves information about a particular group on a server.
  	{"NetGroupGetUsers",        PyNetGroupGetUsers,         1}, // @pymeth NetGroupGetUsers|Enumerates the users in a group.
***************
*** 1120,1124 ****
    if (hmodule==NULL)
  	  hmodule=LoadLibrary(_T("netapi32"));
!   if (hmodule!=NULL)
  	  pfnNetValidateName=(NetValidateNamefunc)GetProcAddress(hmodule,"NetValidateName");
  }
--- 1153,1159 ----
    if (hmodule==NULL)
  	  hmodule=LoadLibrary(_T("netapi32"));
!   if (hmodule!=NULL) {
  	  pfnNetValidateName=(NetValidateNamefunc)GetProcAddress(hmodule,"NetValidateName");
+ 	  pfnNetGetJoinInformation=(NetGetJoinInformationfunc)GetProcAddress(hmodule,"NetGetJoinInformation");
+   }
  }
Index: win32net.h
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/win32net/win32net.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** win32net.h	12 Jan 2005 07:38:10 -0000	1.3
--- win32net.h	8 Jun 2005 01:34:24 -0000	1.4
***************
*** 63,64 ****
--- 63,67 ----
  typedef NET_API_STATUS (NET_API_FUNCTION *NetValidateNamefunc)(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, NETSETUP_NAME_TYPE);
  extern NetValidateNamefunc pfnNetValidateName;
+ 
+ typedef NET_API_STATUS (NET_API_FUNCTION *NetGetJoinInformationfunc)(LPCWSTR, LPWSTR *, PNETSETUP_JOIN_STATUS);
+ extern NetGetJoinInformationfunc pfnNetGetJoinInformation;
 |