日期:2014-05-19  浏览次数:20815 次

GetNotificationData的问题?
I   am   wrapping   notification   bubble   for   a   specific   application   and   I   have   Add,   Remove   working.     Now   I   would   like   to   use   GetData   but   I   am   running   into   a   wall.     I   cont   to   recv   result   of   87   invalid   param,   I   know   I   am   passing   correct   clsid   (I   use   same   one   when   I   add)   and   I   also   know   the   ID   is   correct   again   from   add   but   also   from   nmshn.hdr.code   in   winproc.     that   error   seams   to   me   indicates   I   have   the   DLLImport   statement   correct   but   Im   putting   it   here   just   the   same   in   case   its   that.

//GetData

[DllImport( "aygshell.dll ",   CallingConvention   =   CallingConvention.Winapi,

EntryPoint   =   "#156 ")]

private   static   extern   int   SHNotificationGetData(ref   Guid   clsid,   uint   dwID,   ref   SHNOTIFICATIONDATA   shinfo);


Also   here   is   the   snippet   where   I   am   trying   to   retrieve   it.    

 

public   unsafe   SHNOTIFICATIONDATA   GetNotificationData(uint   dwID)

{

SHNOTIFICATIONDATA   shinfo   =   new   SHNOTIFICATIONDATA();

shinfo.cbStruct   =   (uint)Marshal.SizeOf(shinfo);

Guid   g   =   new   Guid(clsid.ToString());

int   err   =   0;  

err   =   SHNotificationGetData(ref   g,   dwID,   ref   shinfo);

if   (err   !=   0)

throw   new   Exception( "Error   getting   data! ");  

return   shinfo;

}

 

My   next   goal   is   to   change   my   duration   and   us   Update.     I   know   I   can   use   other   means   (keep   copies   of   my   structs   locally   and   get   data   that   way)   but   I   want   to   really   use   this   function.     Thanks.


------解决方案--------------------
http://msdn2.microsoft.com/en-us/library/aa924937.aspx
------解决方案--------------------
ASP.NET 快速入门教程