|
have you checked my previous comment.in that i have written some thing specific please read it. according your guidline i have add the profile object in the
following function.
i dont understand even who it works when it is NULL,
OR how can i set the value of profile ?
please give me guidline with code.
i am not sure but i have write it and it gives E_INVALIDARG.
<br />
WCHAR *Encoder::GenerateKeyID()<br />
{<br />
<br />
HRESULT hr;<br />
IWMWriter *m_pWriter = NULL;<br />
IWMProfile* pProfile=NULL;<br />
hr = WMCreateWriter( NULL, &m_pWriter );<br />
<br />
IWMDRMWriter *pDRMWriter = NULL;<br />
<br />
hr = m_pWriter->QueryInterface(IID_IWMDRMWriter,(void **) &pDRMWriter);<br />
hr=m_pWriter->SetProfile(pProfile);<br />
DWORD d_KeyID = NULL;<br />
hr = pDRMWriter->GenerateKeyID(NULL,&d_KeyID);<br />
WCHAR *w_KeyID = new WCHAR[d_KeyID];<br />
ZeroMemory(w_KeyID,sizeof(WCHAR)* d_KeyID);<br />
hr = pDRMWriter->GenerateKeyID(w_KeyID,&d_KeyID);<br />
return w_KeyID;<br />
}
i have change my code with the following also but it still give me the E_FAIL.
<br />
<br />
HRESULT Package::EncodeMediaContent(WCHAR *pszInFile, WCHAR *pszOutFile, HWND hwndParent, string Host,string UserID, string InitPackageRequest,string ScriptFile,INTERNET_PORT Port)<br />
{<br />
Log log;<br />
HRESULT hr = S_OK;<br />
Encoder *pEncoder;<br />
IWMProfile *pIWMProfile = NULL;<br />
DWORD dwProIndex = 8;<br />
hr = CoInitialize( NULL );<br />
if( FAILED( hr ) )<br />
{<br />
return( hr );<br />
}<br />
HWND hwndCmbProfile = GetDlgItem(hwndParent,IDC_CMB_SYSTEM_PROFILE2);<br />
LRESULT SelectedDRMProfile = SendMessage(hwndCmbProfile,CB_GETCURSEL,0,0);<br />
dwProIndex = (DWORD)SelectedDRMProfile + 1;<br />
hr = Encoder::LoadSystemProfile(dwProIndex,&pIWMProfile); <br />
if(FAILED(hr))<br />
{<br />
log.LogEntry("Package::EncodeMediaContent - Unable to load system profile.");<br />
return hr;<br />
}<br />
<br />
IWMWriter *m_pWriter = NULL;<br />
hr = WMCreateWriter( NULL, &m_pWriter );<br />
<br />
IWMDRMWriter *pDRMWriter = NULL;<br />
<br />
hr = m_pWriter->QueryInterface(IID_IWMDRMWriter,(void **) &pDRMWriter);<br />
hr= m_pWriter->SetProfile(pIWMProfile);<br />
<br />
<br />
if(FAILED(hr))<br />
{<br />
log.LogEntry("Package::EncodeMediaContent - Unable to set profile.");<br />
return hr;<br />
}<br />
<br />
<br />
pEncoder = new Encoder();<br />
if(pEncoder == NULL)<br />
{<br />
log.LogEntry("Package::EncodeMediaContent - Unable to allocate memory for Encoder object.");<br />
return hr;<br />
}<br />
WCHAR *w_KeyID = Encoder::GenerateKeyID();<br />
if(wcslen(w_KeyID) > 0)<br />
{<br />
char* tempKeyID = new char[MAX_PATH];<br />
WideCharToMultiByte(CP_ACP,0,w_KeyID,-1,tempKeyID,MAX_PATH,NULL,NULL);<br />
string sKeyID = tempKeyID;<br />
log.LogEntry("Generated KeyID is: " + sKeyID);<br />
<br />
<br />
<br />
<br />
<br />
<br />
-- modified at 7:25 Thursday 11th January, 2007
|
|
|
|
|
amitmistry_petlad wrote: have you checked my previous comment
I see all your replies - I had to sleep a bit. It was around midnight here my last posts
The code in the other reply looked ok. You need to create the writer, set its profile, and then
set the DRM key. Maybe call your GenerateKeyID() after creating the writer (from your CreateWriter() function?, after setting the profile). Pass the created writer object to
GenerateKeyID() instead of creating another writer object there.
Mark
|
|
|
|
|
Dear Mark ,
thanks for replay me actually been waiting for your replay then i left the office
ok fine ,but have you checked my code and understood function flow properly or i should give you the flow of my functions.
bcoz its real needed otherwise might be wrong somewhere.
please checked compare an clear the flow.
try to set the profile two way one is inside the generatekeyID()
and second is before the function called.
EncodeMediaContent()
{
LoadSystemProfile();
//here set prfile //write now this is active
generatekeyID();//also inside this function also setprofile inactive
GenerateConfigurePackageRequest();// the last param use the generated key
if the response return success from the server
compress() //call and inside this CreateWrite call and the protect file call
}
please checked all this
the one and most important question is on which base the key generated on the client machine.
means how this GenerateKeyID() genreate this w_KeyID=L"mXMzxuQy8PEkwSgv2gcfEA=="; //demo value
type of value.
yet i am unable to generated w_KeyID.
please help me !!
amit
|
|
|
|
|
the one and most important question is on which base the key generated on the client machine.
means how this GenerateKeyID() genreate this w_KeyID=L"mXMzxuQy8PEkwSgv2gcfEA=="; //demo value
type of value.
Please can you explain me in depth.
sorry for distrubing you mid night!!!
amit
|
|
|
|
|
This code looks OK except Encoder::GenerateKeyID().
In Encoder::GenerateKeyID() you create another writer which doesn't have a profile set so the
GenerateKeyID() is going to fail.
What if you change Encoder::GenerateKeyID() to something like
WCHAR *Encoder::GenerateKeyID(IWMWriter *pWriter)
{
HRESULT hr;
IWMDRMWriter *pDRMWriter = NULL;
hr = pWriter->QueryInterface(IID_IWMDRMWriter,(void **) &pDRMWriter);
DWORD d_KeyID = NULL;
hr = pDRMWriter->GenerateKeyID(NULL,&d_KeyID);
WCHAR *w_KeyID = new WCHAR[d_KeyID];
//w_KeyID=NULL;
ZeroMemory(w_KeyID,sizeof(WCHAR)* d_KeyID);
hr = pDRMWriter->GenerateKeyID(w_KeyID,&d_KeyID);
//w_KeyID=L"mXMzxuQy8PEkwSgv2gcfEA==";
pDRMWriter->Release(); // Don't forget to release your COM objects! :)
return w_KeyID;
}
Pass it the writer pointer (m_pWriter) that you created and set the profile of in
EncodeMediaContent(), like this
WCHAR *w_KeyID = Encoder::GenerateKeyID(m_pWriter);
|
|
|
|
|
Thank you very much.
can you explain me in depth on which base the key generated on client machine?
i had ask you in my previous comment.
But still not working i am in big trouble.
amit
-- modified at 5:39 Saturday 13th January, 2007
amit
|
|
|
|
|
|
ya i know that it's wast topic but due to some time Complexity. i am not going in the much detail. sorry but can you give me your communication email id. so by the time i can send you the detail. ya thans for send me links.
|
|
|
|
|
|
amitmistry_petlad wrote: i am talking about step - 7 in the following link.
Right. The problem is you haven't done step 3.
You did step 3 on a different writer object in a different function. In your create key
function you create a nee writer but you never set its profile before trying to create a key.
Won't work
|
|
|
|
|
i had change it on my machine according your guidline but wont work.
thats why i asked you about the key generation source.
ok thanks
|
|
|
|
|
Hello there
Until today, I have been using VS 2003 / VC ++ without any problems for several years
Installed VS 2005 on my WinXP-SP2 machine (left all the default folders as suggested), then applied SP1 of VS 2005 without any problems… Then, converted my project to the new IDE using the wizard – no errors or any messages, seemed all OK:
BUT
1) Decided first to build an ANSI RELEASE version, all seemed OK except the application looks wrong, the tree control fails to create, the dialog background colouring is NOT there, all the buttons on my dialog do NOT process any messages, so to quit the screen I had to use ALT + F4, nothing else would work.
2) Attempting to build and debug an ANSI DEBUG version of my program, it seems the IDE can’t locate the VC DEBUG DLL’s and I had to copy those into my application folder… Strange – I thought the IDE should “Know” where these are located…
mfc80d.dll
mfcm80d.dll
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
3) Attempting to build a UNICODE DEBUG of my program, I get this error
LINK : fatal error LNK1181: cannot open input file 'lsvc8u.lib'
Searching for the file on my PC returns ZERO results, there is no such file on my machine, I did performed a complete install of VS 2005, and am not expecting anything to be missing…
4) On exiting my application, I get a crash with the message f:\sp\vctools...", I have no idea where is the “f:” drive designation coming from since I don’t have such a drive mapping on my PC
Looking at the Call stack, I get a “Strange” list – which I am sure my Application DOES NOT execute, so I figure somwhere there must be a corruption of sorts for this to come up. Looking at the bottom of the list, Ther is a call to a function MKGetFaxDateandTime() which I am sure it is NOT called anywhere.
Anyone has such experince???
Cheers
Alex
|
|
|
|
|
Hi there,
I have a dialog application. i want to display some text in a box(maybe an edit box but with multiple lines).It is sumthing like the diagram below except replace the dash line with continues one(i looks like a normal rectangle. The background will be in black n the text is green. And this is just for displaying(no editing is required) But how can i do this?
_______
|input1|
| |
|input2|
| |
|input3|
|______ |
|
|
|
|
|
cyn8 wrote: And this is just for displaying(no editing is required) But how can i do this?
If no editing is required, then simply use static text and color them as you like. Search CP. There are heaps of articles on this. AFAIK you cannot change the white color of an edit control to any other color!
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
brahmma wrote: AFAIK you cannot change the white color of an edit control to any other color!
Sure you can... http://www.codeproject.com/editctrl/enhfocusedit.asp[^] .
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
You have subclassed the edit control, handled your message of interest, created a solid brush and painted your color there! Can you do it without subclassing an edit control? With a plain CEdit control?
PS: The requirement of the person who started this thread was to simply display colored text. I would not even think of subclassing an edit control for this purpose.
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
You do not have to subclass the CEdit control, but you do have to handle its messages in order to paint the colors yourself. You can do that by handling the messages in the parent window.
The control I wrote uses its own class so that users do not have to keep writing the same handling code over and over.
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
I think you can change color
|
|
|
|
|
Please see this[^]
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
I know with subclassed but you said
"you cannot change the white color of an edit control"
|
|
|
|
|
It was completely in context with the question that was asked. It is silly to subclass an edit control and handle events and paint, just to display some colored text with background. And of course you will need to subclass to do such stuff. As you subclass it, it is no more the normal edit control. In that article I could see that certain events are not handled properly. For an instance, you cannot paste in the second edit control of that dialogbox. These are all the pitfalls of subclassing, about which we need to be extra careful.
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
hey everyone,
Thanks far all the reply. I've manage to do it by using the static text and from reading the articles from this website for examples.
Thanks
|
|
|
|
|
i think this site will help you alot www.flounder.com, download option will be there and click the option there win32progming will be appeared, download the al;l the code to your pc.
Chinna
|
|
|
|
|
this site will help you alot in win32 programing
http://www.flounder.com/download.htm#Complete%20Win32%20CD%20Contents
click Complete Win32 CD Contents
Chinna
|
|
|
|
|
launcher.obj : error LNK2001: unresolved external symbol "public: __thiscall tLgInteger<class std::vector<unsigned long,class std::allocator<unsigned long> >,unsigned __int64>::tLgInteger<class std::vector<unsigned long,class std::allocator<unsigned long> >,unsigned __int64>(unsigned long)" (??0?$tLgInteger@V?$vector@KV?$allocator@K@std@@@std@@_K@@QAE@K@Z)
hint_54
|
|
|
|