Error including win32net in a Python COM server
Emanuel Borges
Eaborges at hotmail.com
Tue Jul 30 17:12:23 EDT 2002
I've created Python COM servers in the past with a fair amount of
success but I can't seem to figure out what I am doing wrong in this
instance.
The only difference that I have found is that in this particular COM
server, I am importing win32net. And after doing some debugging I
have found that the COM server works fine if I remove this import.
This, however I can't do because I need NetUseGetInfo, NetUseAdd,
NetUseDel & NetUseEnum for my Server to function correctly. I've
attached the meat of my code below. If anyone can offer any insight,
I would be extremely grateful. The error that I'm getting is that the
Specified procedure could not be found. When I use Python debugging I
get the error number 2147221231. I've looked in previous posts but
haven't had much luck...
##The splitstring is just here so that I could test the COM server
##without the win32net import. Without the import, it works fine.
##The code itself also works fine before making it a COM server.
import os
from win32net import NetUseGetInfo, NetUseAdd, NetUseDel, NetUseEnum
class ShareControll:
_public_methods_=['QueryDrive','MapDrive','DeleteDrive','SplitString']
_reg_progid_ = "PythonDemos.MW_COM"
_reg_clsid_ = "{1CBECF27-89E4-4E5A-928B-92E11B11B0A9}"
def MapDrive(self, letter, share):
try:
share = u'%s'%share
letter = u'%s'%letter
NetUseAdd(None,1,{'remote': share, 'local': letter})
status = "sucess"
except:
status = "fail"
return status
def DeleteDrive(self, letter):
try:
NetUseDel(None,letter)
status = "sucess"
except:
status = "fail"
return status
def QueryDrive(self, letter):
try:
query = NetUseGetInfo(None,letter)
except:
query = "Drive not in use"
return query
def SplitString(self, val, item=None):
import string
if item != None: item = str(item)
return string.split(str(val), item)
if __name__ == "__main__":
print "Registering COM server..."
import win32com.server.register
win32com.server.register.UseCommandLine(ShareControll)
More information about the Python-list
mailing list