Sorry! I forgot to change the subject in the previous email.

Thank you for your help! No luck so far.

I wrote a C program and got the same results as python:
Win 7 Notebook (with SD card inserted directly i.e. no SD card reader) Error 
code: 1
Win 7 Notebook (without SD card inserted at all) Error code: 6
WinXP desktop (with USB stick but without SD card inserted at all) Error code: 
50


int main(int argc, char* argv[])
{
 string sdrive("\\\\.\\e:");   
 HANDLE hcd = CreateFile(sdrive.c_str(), 
  GENERIC_READ, 
  FILE_SHARE_READ|FILE_SHARE_WRITE,
  NULL, 
  OPEN_EXISTING, 
  FILE_ATTRIBUTE_READONLY, 
  NULL);
 
 if (hcd == INVALID_HANDLE_VALUE)
  printf("Could not open drive\\\n");
 else
  printf ("%s \n", "opened drive");
 
 DWORD d = 0;
 int nSizeOfCmd = sizeof(SFFDISK_QUERY_DEVICE_PROTOCOL_DATA) ;
 SFFDISK_QUERY_DEVICE_PROTOCOL_DATA *pCmdBuf = 
(SFFDISK_QUERY_DEVICE_PROTOCOL_DATA*) new BYTE[nSizeOfCmd];
 memset(pCmdBuf, 0, nSizeOfCmd);  
 BOOL bResult=DeviceIoControl(hcd, IOCTL_SFFDISK_QUERY_DEVICE_PROTOCOL, NULL, 
0, 
 pCmdBuf, nSizeOfCmd, &d, NULL);
 DWORD dwErr = GetLastError();
 CloseHandle(hcd);
 if(!bResult){
      printf("Failed to get ProtocolGUID, err code: %d",dwErr);
      
 }
 else{
 printf("%s \n", pCmdBuf->ProtocolGUID);
 }
 
 delete [] pCmdBuf;
 return 0;
 
}

Thank you,
Jane

Jane Chen wrote:
> Sorry. It's a mistake. However, I still get the same error message.
> Maybe there is another mistake. :(
> Is there any tool for debugging purpose?

What I would do is write the code as a C program just to make sure the
API does what I expect.  That at least eliminates the Python layers from
consideration.

What SD card reader are you using?  Not all of the behave nicely.

-- 
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.



-
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to