关于StgCreateDocFile和StgOpenStorage函数(50分)

  • 主题发起人 主题发起人 Eddy
  • 开始时间 开始时间
E

Eddy

Unregistered / Unconfirmed
GUEST, unregistred user!
我在调用StgCreateDocFile('SService',STGM_CREATE+STGM_READWRITE+STGM_DIRECT+STGM_SHARE_DENY_NONE,0,isRoot)
和StgOpenStorage('SService',nil,STGM_WRITE+STGM_SHARE_DENY_WRITE,nil,0,isRoot)
函数总会返回“无效标志错误”,这是为何?
 
把算术操作的参数换成位操作试试:
STGM_CREATE+STGM_READWRITE+STGM_DIRECT+STGM_SHARE_DENY_NONE
>>
STGM_CREATE or STGM_READWRITE or STGM_DIRECT or STGM_SHARE_DENY_NONE
 
我试了一试,没用。
 
第一参应为PWideChar,再试:

1)
FileName := 'SService';
StgCreateDocFile(PWideChar(WideString(Filename)), ....

2)
var
PSize : Integer;
P: PWideChar;
begin
P := StrToUniCode(FileName, PSize);
StgCreateDocFile(P,...
...
 
好象仍是没用,你能不能直接举一个经测试正确的例子,谢谢!
 
unit OleCtnrs;
 
深度历险:STGSTORE.ZIP
示范如何以结构式储存 ( Structured Storage ) 来储存 TTreeview 及 TListview 的内容 ( 3.0 版 ) ,作者:David Spies 。
 
接受答案了.
 

Similar threads

S
回复
0
查看
570
swish
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
911
SUNSTONE的Delphi笔记
S
后退
顶部