B
Bila
Hello all,
I am trying to acchieve the same functionality of EWFMGR, but with
programmatical aproach using EWFAPI, where the functionalities are
exposed through a GUI. To me it seems that it should be possible to
reproduce many, if not all, commands exposed by EWFMGR by using EWFAPI,
but at the moment I am having problems with this.
In first step I only have the need to reproduce ENABLE, DISABLE and
COMMIT & DISABLE functionlities of EWFMGR.
Now, the problem I faced here is that with EWFMGR it is possible to
issue the boot commands for one volume many times (during one session,
no reboot), disregarding in which state the volume currently is. I am
unable to get the same bhaviour in EWFAPI.
Example (using EWFMGR): lets assume volume D is used and its current
state is DISABLED. It is possible to call "EWFMGR d:/ -enable" then
"EWFMGR d: -disable" and "EWFMGR d: -commitanddisable" consecutively
and each time the command will succeed and the boot command will be set
accordingly (note that the machine is not rebooted between commands).
Now, if I try to acchive the analogous functionality in EWFAPI by
calling "EwfMgrEnable(hProVol
)" then "EwfMgrDisable(hProVol, FALSE)" and "EwfMgrDisable(hProVol,
TRUE)", only the "EwfMgrEnable" function will succede and all others
will fail (GetLastError() returns 87, MSDN states:
ERROR_INVALID_PARAMETER). This is obvously not the same behaviour as in
EWFMGR.
Situation is the same even if the volume is in the ENABLED state: all
EWFMGR commands (from previous example) succeed, but in EWF API now
only the "EwfMgrDisable(hProVol, TRUE)" is succesfull, all others fail
with the same error.
Bottom line is, in EWFMGR it is possible to issue any command,
regardles of the volume's current state, while this is not he case with
EWFAPI.
My question is: why is this so? Is this by design? Am I missing
something (I tried using "EwfMgrClearCommand" function before issuing
any new command, but it does not work for RAM REG mode protected
volumes, just like stated in the documentation)?
I believe it is usefull to mention the EWF configurations: there are
two protected volumes (system and data, drives C: and D: respectively)
using RAM REG mode. Both volumes are located on a flash drive. WinXPe
SP2 is installed.
If required, I will provide my code (it is basically the same code as
in EWF API samples only with minor design modifications). In runtime,
the EWFAPI.dll used is dated april 11th, 2003, version 2.0.1900.0, size
7680 bytes. Library file used for linking (ewfapi.lib) also dates from
april 11th, 2003, size 6758 bytes.
Thank you in advance.
Kind regards,
Bila
I am trying to acchieve the same functionality of EWFMGR, but with
programmatical aproach using EWFAPI, where the functionalities are
exposed through a GUI. To me it seems that it should be possible to
reproduce many, if not all, commands exposed by EWFMGR by using EWFAPI,
but at the moment I am having problems with this.
In first step I only have the need to reproduce ENABLE, DISABLE and
COMMIT & DISABLE functionlities of EWFMGR.
Now, the problem I faced here is that with EWFMGR it is possible to
issue the boot commands for one volume many times (during one session,
no reboot), disregarding in which state the volume currently is. I am
unable to get the same bhaviour in EWFAPI.
Example (using EWFMGR): lets assume volume D is used and its current
state is DISABLED. It is possible to call "EWFMGR d:/ -enable" then
"EWFMGR d: -disable" and "EWFMGR d: -commitanddisable" consecutively
and each time the command will succeed and the boot command will be set
accordingly (note that the machine is not rebooted between commands).
Now, if I try to acchive the analogous functionality in EWFAPI by
calling "EwfMgrEnable(hProVol
)" then "EwfMgrDisable(hProVol, FALSE)" and "EwfMgrDisable(hProVol,
TRUE)", only the "EwfMgrEnable" function will succede and all others
will fail (GetLastError() returns 87, MSDN states:
ERROR_INVALID_PARAMETER). This is obvously not the same behaviour as in
EWFMGR.
Situation is the same even if the volume is in the ENABLED state: all
EWFMGR commands (from previous example) succeed, but in EWF API now
only the "EwfMgrDisable(hProVol, TRUE)" is succesfull, all others fail
with the same error.
Bottom line is, in EWFMGR it is possible to issue any command,
regardles of the volume's current state, while this is not he case with
EWFAPI.
My question is: why is this so? Is this by design? Am I missing
something (I tried using "EwfMgrClearCommand" function before issuing
any new command, but it does not work for RAM REG mode protected
volumes, just like stated in the documentation)?
I believe it is usefull to mention the EWF configurations: there are
two protected volumes (system and data, drives C: and D: respectively)
using RAM REG mode. Both volumes are located on a flash drive. WinXPe
SP2 is installed.
If required, I will provide my code (it is basically the same code as
in EWF API samples only with minor design modifications). In runtime,
the EWFAPI.dll used is dated april 11th, 2003, version 2.0.1900.0, size
7680 bytes. Library file used for linking (ewfapi.lib) also dates from
april 11th, 2003, size 6758 bytes.
Thank you in advance.
Kind regards,
Bila