Search Results

Search found 21236 results on 850 pages for 'message queuing'.

Page 333/850 | < Previous Page | 329 330 331 332 333 334 335 336 337 338 339 340  | Next Page >

  • Once mounted using TrueCrypt, cannot unmount

    - by zeiger
    I have an external HDD and use TrueCrypt for keeping encrypted file containers. After mounting, whenever I try to dismount a file container (using TrueCrypt 7.0a on Ubuntu 11.04), it just does not happen and I get the following message: device-mapper: remove ioctl failed: Device or resource busy Command failed Further, if I close TrueCrypt and then try to start it again, it says that TrueCrypt is already running, but I cannot access it from the Unity sidebar (because it is not there). Also, if I power down my external HDD, the TrueCrypt volume still shows as one of the mounted volumes, but I cannot do anything with it. Any possible work around? I remember this NOT happening in earlier versions of Ubuntu so I am guessing there is something to do with 11.04. Thanks

    Read the article

  • How do I get a Canon LBP 2900 printer working?

    - by elektron
    i am unable to set up my canon lbp2900 printer on ubuntu12.04 64 bit i aliened the 64 bit rpm drivers and then installed the drivers (version 2.40) and followed the procedure in the canon guide ( however i changed fifo path to //localhost:59787 (somebody suggested) instead of 59687 (as suggested by canon guide) ) intially i got the message pstocapt failed .. the drivers had put the pstocapt and backend/ccp in the lib64 directory instead of the lib directory ... i copied that to the aproprite directory under lib but still i get the error "ccp send_data error exit " i also tried with fifo path //localhost:59687 i also tried the Radu script but the drivers the script uses are version 1.90 and has conflicting packages

    Read the article

  • Ubuntu server on VM outgoing network(ping google.com) working, incoming(127.0.0.1:8080) is not. Was working previusly

    - by IvarsB
    I have recently installed Ubuntu server with LAMP,OpenSSH and mail on Oracle's VM, it's incoming networking was recently working, apache's default message could be seen when opening 127.0.0.1:8080. But now it's not! :( Could you give me any tips? I couldn't google anything that helped me. :( I'm running windows 7 with such settings http://www.bildites.lv/images/3d91ikwtraw0ld7lhv.png I recently used apt-get --purge remove phpmyadmin. Could that be the problem? How should I fix it? Thank you in advance! Ivars. EDIT: Sorry for the lame formating.

    Read the article

  • Java EE @ No Fluff Just Stuff Tour

    - by reza_rahman
    If you work in the US and still don't know what the No Fluff Just Stuff (NFJS) Tour is, you are doing yourself a very serious disfavor. NFJS is basically a set program of world class speakers and topics offered at major US cities year round. I am proud to share with you that I recently joined the legendary NFJS troupe. My hope is that this will help solve the lingering problem of effectively spreading the Java EE message here in the US. I had my tour debut on April 4-5 with the NFJS New York Software Symposium. I did four of my most favorite talks and it was not that bad for a start - I have more in the coming months in Columbus Ohio, Denver Colorado and Austin Texas. More details on the tour posted on my personal blog. Hope to see you on the tour soon?

    Read the article

  • Configure mailserver to make all the mails come to 1 single mailbox

    - by Vinod K
    mailserever domain name is "Vrk.com".. I want to store message sent to "yahoo.com" too...can i do tht.. I have /etc/postfix/virtual in which i have entered.. @yahoo.com root And 1 more thing...i have user named "vinod" in the mail server...now when i address any mails to "[email protected]"...it works....but when i do "[email protected]"...it gives me error saying...this doesnt exist in the the server...but when i send mails to "[email protected]"...it sends the mails (though it goes into the mail.log as an error entry)...it atleast doesnt stop me from sending it...why is that??

    Read the article

  • 2011 The Year of Awesomesauce

    - by MOSSLover
    So I was talking to one of my friends, Cathy Dew, and I’m wondering how to start out this post.  What kind of title should I put?  Somehow we’re just randomly throwing things out and this title pops into my head the one you see above. I woke up today to the buzz of a text message.  I spent New Years laying around until 3 am watching Warehouse 13 Episodes and drinking champagne.  It was one of the best New Year’s I spent with my boyfriend and my cat.  I figured I would sleep in until Noon, but ended up waking up around 11:15 to that text message buzz.  I guess my DE, Rachel Appel, had texted me “Happy New Years”, because Rachel is that kind of person.  I immediately proceeded to check my email.  I noticed my live account had a hit.  The account I rarely ever use had an email.  I sort of had that sinking suspicion I was going to get Silverlight MVP right?  So I open the email and something out of the blue happens it says “blah blah blah SharePoint Server MVP blah blah…”.  I’m sitting here a little confused what?  Really?  Just about when you give up on something the unexplained happens.  I am grateful for what I have every day. So let me tell you a story.  I was a senior in high school and it was December 31st, 1999.  A couple days prior my grandmother was complaining she had a cold and her assisted living facility was not going to let her see a doctor.  She claimed to be very sick.  New Year’s Eve Day 1999 my grandmother was rushed to the hospital sometime very early in the morning.  My uncle, my little brother, and myself were sitting in the waiting room eagerly awaiting news.  The Sydney Opera House was playing in the background as New Years 2000 for Australia was ringing in.  They come out and they tell us my grandmother has pneumonia.  She is in the ICU in critical condition.  Eventually time passes in the day and my parents take my brother and I home.  So in the car we had a huge fight that ended in the worst new years of my life.  The next 30 days were the worst 30 days of my life.  I went to the hospital every single day to do my homework and watch my grandmother.  Each day was a challenge mentally and physically as my grandmother berated me in her demented state.  On the 30th day my grandmother ended up in critical condition in the ICU maxed out on painkillers.  At approximately 3 am I hear my parents telling me they don’t want to wake me up and that my grandmother had passed away.  I must have cried more collectively that day than any other day in my life.  Every New Years Even since I have cried thinking about who she was and what she represented.  She was human looking back she wasn’t anything great, but she was one of the positive lights in my life.  Her and my dad and my other grandmother constantly tried to make me feel great when my mother was telling me the opposite.  I’d like to think since 2000 the past 11 years have been the best 11 years of my life.  I got out of a bad situation by using the tools that I had in front of me.  Good grades and getting into a college so I could aspire to be the person that I wanted to be.  I had some great people along the way to help me out. So getting to the point I like to help people further there lives somehow in the best way I can possibly help out.  This New Years was one of the great years that helped me forget the past and focus on the present.  It makes me realize how far I’ve come since high school and even since college.  The one thing I’ve been grappling with over the years is how do you feel good about making money while helping others out.  I’d to think I try really hard to give back to my community.  I could not have done what I did without other people’s help.  I sent out an email prior to even announcing I got the award today.  I can’t say I did everything on my own.  It’s not possible.  I had the help of others every step of the way.  I’m not sure if this makes sense but the award can’t just be mine.  This award is really owned by each and everyone who helped me get here.  From my dad to my grandmother to Rachel Appel to Bob Hunt to Jason Gallicchio to Cathy Dew to Mark Rackley to Johnny Ennion to Lee Brandt to Jeff Julian to John Alexander to Lori Gowin and to many others.  Thank you guys for all the help and support. Technorati Tags: SharePoint Community,MVP Award,Microsoft Community

    Read the article

  • EVOLUTION: No such Calendar

    - by Dennis
    I am using a google calendar with evolution for quite a while now. I was never having any troubles. Just recently, I suppose just after an update, whenever I want to create a new event in evolution (for the just mentioned google calendar) I get the err message "No such calendar". When I dismiss changes an re-open evolution the entry has been added anyway. This is somewhat annoying. I googled, but haven't found anything yet which suggests that it not problem many people have!? Looking for help, maybe someone here knows an answer! I appreciate any suggestion! Cheers, Dennis

    Read the article

  • WIF, ADFS 2 and WCF&ndash;Part 5: Service Client (more Flexibility with WSTrustChannelFactory)

    - by Your DisplayName here!
    See the previous posts first. WIF includes an API to manually request tokens from a token service. This gives you more control over the request and more flexibility since you can use your own token caching scheme instead of being bound to the channel object lifetime. The API is straightforward. You first request a token from the STS and then use that token to create a channel to the relying party service. I’d recommend using the WS-Trust bindings that ship with WIF to talk to ADFS 2 – they are pre-configured to match the binding configuration of the ADFS 2 endpoints. The following code requests a token for a WCF service from ADFS 2: private static SecurityToken GetToken() {     // Windows authentication over transport security     var factory = new WSTrustChannelFactory(         new WindowsWSTrustBinding(SecurityMode.Transport),         stsEndpoint);     factory.TrustVersion = TrustVersion.WSTrust13;       var rst = new RequestSecurityToken     {         RequestType = RequestTypes.Issue,         AppliesTo = new EndpointAddress(svcEndpoint),         KeyType = KeyTypes.Symmetric     };       var channel = factory.CreateChannel();     return channel.Issue(rst); } Afterwards, the returned token can be used to create a channel to the service. Again WIF has some helper methods here that make this very easy: private static void CallService(SecurityToken token) {     // create binding and turn off sessions     var binding = new WS2007FederationHttpBinding(         WSFederationHttpSecurityMode.TransportWithMessageCredential);     binding.Security.Message.EstablishSecurityContext = false;       // create factory and enable WIF plumbing     var factory = new ChannelFactory<IService>(binding, new EndpointAddress(svcEndpoint));     factory.ConfigureChannelFactory<IService>();       // turn off CardSpace - we already have the token     factory.Credentials.SupportInteractive = false;       var channel = factory.CreateChannelWithIssuedToken<IService>(token);       channel.GetClaims().ForEach(c =>         Console.WriteLine("{0}\n {1}\n  {2} ({3})\n",             c.ClaimType,             c.Value,             c.Issuer,             c.OriginalIssuer)); } Why is this approach more flexible? Well – some don’t like the configuration voodoo. That’s a valid reason for using the manual approach. You also get more control over the token request itself since you have full control over the RST message that gets send to the STS. One common parameter that you may want to set yourself is the appliesTo value. When you use the automatic token support in the WCF federation binding, the appliesTo is always the physical service address. This means in turn that this address will be used as the audience URI value in the SAML token. Well – this in turn means that when you have an application that consists of multiple services, you always have to configure all physical endpoint URLs in ADFS 2 and in the WIF configuration of the service(s). Having control over the appliesTo allows you to use more symbolic realm names, e.g. the base address or a completely logical name. Since the URL is never de-referenced you have some degree of freedom here. In the next post we will look at the necessary code to request multiple tokens in a call chain. This is a common scenario when you first have to acquire a token from an identity provider and have to send that on to a federation gateway or Resource STS. Stay tuned.

    Read the article

  • Login timeout disable?

    - by Sk606
    How can I disable automatic timeout entries in the login screen? Allow me to explain. My typical experience goes something like this: I put my laptop to sleep, then wake it. When it wakes, it comes up with the login screen. I type in my password and it will usually reject it, with a message indicating the login timer has expired. I then enter my password a second time and it logs in. Not the end of the world, but annoying nonetheless. Any suggestions?

    Read the article

  • can not install gimp

    - by user71700
    I tried to install Gimp but I get an error that there are unmet dependencies. How can I handle that. I am running UBUNTU 12.04 in 64 bit. This is the message I get: The following packages have unmet dependencies: gimp: Depends: python-gtk2 (= 2.8.0) but 2.24.0-3 is to be installed Depends: libc6 (= 2.15) but 2.15-0ubuntu10 is to be installed Depends: libfontconfig1 (= 2.8.0) but 2.8.0-3ubuntu9 is to be installed Depends: libgdk-pixbuf2.0-0 (= 2.22.0) but 2.26.1-1 is to be installed Depends: libglib2.0-0 (= 2.31.2) but 2.32.3-0ubuntu1 is to be installed Depends: libgtk2.0-0 (= 2.24.0) but 2.24.10-0ubuntu6 is to be installed Depends: libjpeg8 (= 8c) but 8c-2ubuntu7 is to be installed Depends: librsvg2-2 (= 2.14.4) but 2.36.1-0ubuntu1 is to be installed Depends: zlib1g (= 1:1.1.4) but 1:1.2.3.4.dfsg-3ubuntu4 is to be installed Depends: python (= 2.7.1-0ubuntu2) but 2.7.3-0ubuntu2 is to be installed

    Read the article

  • Mistaken dist-upgrade, is this bad?

    - by SpashHit
    I was looking for Update Manager on Ubuntu 10.10 Netbook Edition and couldn't find it, so in Terminal I did: sudo apt-get update sudo apt-get upgrade I got a message saying some packages were "held back" and searching online gave me the suggestion to do: sudo apt-get dist-upgrade So I did that and it updated my kernel and now uname -a says I have 2.6.35-23-generic #40-Ubuntu SMP. My system is still working normally, but I'm now second-guessing if I did the right thing. Was this kernel update meant for the next version of Ubuntu? Should I try to back it out?

    Read the article

  • Why is "www.mysite.com" different from "mysite.com"?

    - by sapeish
    In any browser if I use www.mysite.com or just mysite.com the web page is correctly retrieved, but I am having trouble with Google Analytics and Facebook App. Facebook: To be able to get Likes, I create the Facebook App needed and set the site URL to http://mysite.com/. Using their tool http://developers.facebook.com/tools/debug/ when I test my page using http://mypage.com it works but using http://www.mypage.com fails with the message: Object at URL 'http://www.mysite.com/' of type 'website' is invalid because the domain 'www.mysite.com' is not allowed for the specified application id. Google Analytics: To be able to get traffic statistics, I created a Property and a Profile both with the URL http://www.mypage.com and no statistics were gathered in a week, when I changed the configured URL to http://mypage.com statistics where available a few hours later. What should I do to have statistics and likes for both www.mysite.com and mysite.com ??

    Read the article

  • Windows CE support forums

    - by Valter Minute
    As you may already know, microsoft is moving its communities to a new platform, based on web forums. The “old” USENET newsgroups are going to be replaced by web forums organized by categories. One for low-level platform development (for the guys working with Platform Builder), another one for native application development (for people writing their real-time applications in C/C++ or people using Silverlight for Windows Embedded) and, last but not least, a forum dedicated to managed application development (for people that are quickly developing their applications with the .NET Compact Framework). You can find the new forums here: http://social.msdn.microsoft.com/Forums/en-US/category/windowsembeddedcompact Read the “welcome” message to choose the best forum for your question and never forget that to have a good answer you should ask your question in a good way. Here you can find some suggestions about how you can ask questions (in newsgroup or forums): http://guruce.com/blogpost/howtoaskquestionsonnewsgroups (Thanks to Michel Verhagen for the article)

    Read the article

  • Help me classify this type of software architecture

    - by Alex Burtsev
    I read some books about software architecture as we are using it in our project but I can't classify the architecture properly. It's some kind of Enterprise Architecture, but what exactly... SOA, ESB (Enterprise Service Bus), Message Bus, Event Driven SOA, there are so many terms in Enterprise software.... The system is based on custom XML messages exchanges between services. (it's not SOAP, nor any other XML based standard, just plain XML). These messages represent notifications (state changes) that are applied to the Domain model, (it's not like CRUD when you serialize the whole domain object, and pass it to service for persistence). The system is centralized, and system participants use different programming languages and frameworks (c++, c#, java). Also, messages are not processed at the moment they are received as they are stored first and the treatment begins on demand. It's called SOA+EDA -:)

    Read the article

  • Problem with installing programs

    - by Brian Buck
    I am unable to install programs for the Ubuntu 10.10 system. These download ok, but when attempting to install them, the following message is displayed: AN ERROR OCCURRED WHILE OPENING THE ARCHIVE END-OF-CENTRAL-DIRECTORY SIGNATURE NOT FOUND etc....... ZIPINFO: CANNOT FIND ZIPFILE DIRECTORY IN etc...... As I am new to Ubuntu and also fairly "green" as far as computer terminology is concerned, I have no idea what this means and don't have a clue on how to fix it. Can you help please? Many thanks, Brian Buck

    Read the article

  • Multiplayer mobile games and coping with high latency

    - by liortal
    I'm currently researching regarding a design for an online (realtime) mobile multiplayer game. As such, i'm taking into consideration that latencies (lag) is going to be high (perhaps higher than PC/consoles). I'd like to know if there are ways to overcome this or minimize the issues of high latency? The model i'll be using is peer-to-peer (using Photon cloud to broadcast messages to all other players). How do i deal with a scenario where a message about a local object's state at time t will only get to other players at *t + HUGE_LAG* ?

    Read the article

  • How do I run my XBOX XNA game without a network connection?

    - by Hugh
    I need to demo my XBOX XNA game in college. The college doesn't allow this type of device to connect to the network. I deployed my game to the Xbox and it is sitting in the games list along with my other games. It runs fine with a network connection but when its offline it comes up with an error message saying its needs a connection to run the game. This makes no sense, the game is deployed on the Xbox memory, it must be some security policy or something! Is there any way around this? The demo is on monday!

    Read the article

  • How To Colorize Black and White Vintage Photographs in Photoshop

    - by Eric Z Goodnight
    Ever wanted to add color to your old, vintage, or historical photographs? Load up some old pictures and see how color can be added quickly to any black and white photograph in this simple Photoshop how to. While many purists simply don’t like the look of colorized black and white photographs, the ability to add color to black and white images is as indispensible as it is simple. Read on to see just how easy it can be Latest Features How-To Geek ETC How To Create Your Own Custom ASCII Art from Any Image How To Process Camera Raw Without Paying for Adobe Photoshop How Do You Block Annoying Text Message (SMS) Spam? How to Use and Master the Notoriously Difficult Pen Tool in Photoshop HTG Explains: What Are the Differences Between All Those Audio Formats? How To Use Layer Masks and Vector Masks to Remove Complex Backgrounds in Photoshop Hack a Wireless Doorbell into a Snail Mail Indicator Enjoy Clutter-Free YouTube Video Viewing in Opera with CleanTube Bring Summer Back to Your Desktop with the LandscapeTheme for Chrome and Iron The Prospector – Home Dash Extension Creates a Whole New Browsing Experience in Firefox KinEmote Links Kinect to Windows Why Nobody Reads Web Site Privacy Policies [Infographic]

    Read the article

  • Replace Broadcom "wl" driver with "b43"

    - by Laszlo Boros
    I'm using Ubuntu 10.04.4 LTS, and in my laptop there is a Broadcom BCM4312 wlan card. lspci output: 04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01) Subsystem: Broadcom Corporation Device 04b5 Flags: bus master, fast devsel, latency 0, IRQ 18 Memory at f4500000 (64-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Capabilities: [58] Vendor Specific Information Capabilities: [e8] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Capabilities: [d0] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [13c] Virtual Channel Capabilities: [160] Device Serial Number 81-ac-1d-ff-ff-12-54-92 Capabilities: [16c] Power Budgeting Kernel driver in use: wl Kernel modules: wl, ssb So as you can see, the current (and default) driver is wl - installed with jockey. But I have another Ubuntu based distribution on my laptop (BackTrack linux), which is also 10.04, but it has the b43 driver installed and the overall performance is MUCH better. So I would like to install it on this OS too, but even google didn't help me. So my question is how to install the latest b43 driver on my Ubuntu?

    Read the article

  • Why is there no generic implementation of OrderedDictionary in .net?

    - by nonot1
    Why did Microsoft not provide generic implementation of OrderedDictionary? There are a few custom implementations I've seen, including: http://www.codeproject.com/KB/recipes/GenericOrderedDictionary.aspx But why did Microsoft not include it in the base .net library? Surely they had a reason for not building a generic.... but what is it? Prior to posting this message, I did see: http://stackoverflow.com/questions/2629027/no-generic-implementation-of-ordereddictionary But that just confirms that it does not exist. Not why it does not exist. Thanks

    Read the article

  • Facebook and Gmail stop working after 10 minutes

    - by Julia
    I have problem with facebook and gmail only: It works fine and lets me log in, view photos and videos, read new messages, etc. But after 5-10 minuets it doesn't load at all This webpage is not available. The webpage at http://www.facebook.com/ might be temporarily down or it may have moved permanently to a new web address. More information on this error Below is the original error message Error 101 (net::ERR_CONNECTION_RESET): Unknown error After deleting cookies this problem disappears for 5-10 minuets, then I get the same error. It happens with Google Chrome and Firefox. Ping works fine. I have checked System-Preferences-Network Proxy it sets on Default - "Direct Internet Connection". Then I have run test (chrome://net-internals/#tests) and got some FAIL results Use system proxy settings Disable IPv6 host resolving Probe for IPv6 host resolving IPv6 is disabled.

    Read the article

  • Merge home directory after fresh installation with existing (Gentoo) home

    - by jhwist
    I reinstalled my desktop machine with Ubuntu 10.10., coming from Gentoo where I used XFCE. My home is usually NFS-mounted from a server. During the install I let the installer set up my user, but of course my NFS-home wasn't mounted then; I have a regular /home/user now. If I mv /home /home.old and mount my NFS-home to /home instead, I cannot login because Gnome complains about some config-files (sorry, no exact error message as there is no way to copy&paste this). Which of my /home.old/user directories do I have to copy over to my NFS-home so that Gnome is happy again?

    Read the article

  • Flash doesn't work any more on 10.04

    - by Béné
    I have a very strange problem with flash on my 10.04 system. (An update to 12.04 is not an option, because the system is just too old and slow.) After a recent update flash has just stopped working altogether. Youtube just shows a white square, vimeo a black one. After a 10.04 reinstall the problem stays the same. Not even chrome displays flash content, just a message that shockwave flash could not be loaded. 'ubuntu-restricted-extras' 'flashplugin-nonfree' and 'flashplugin-installer' are all installed in version 11.2.202.238ubuntu0.10.04.1.

    Read the article

  • 'bzip2' error while downloading OpenCV2.4.2 in 12.04

    - by Saurabh Deshpande
    While downloading OpenCV2.4.2 in 12.04, I get the following error message: bzip2: Compressed file ends unexpectedly; perhaps it is corrupted? *Possible* reason follows. bzip2: Inappropriate ioctl for device Input file = (stdin), output file = (stdout) It is possible that the compressed file(s) have become corrupted. You can use the -tvv option to test integrity of such files. You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files. tar: Child returned status 2 tar: Error is not recoverable: exiting now

    Read the article

  • Override an IOCTL Handler in PQOAL

    - by Kate Moss' Big Fan
    When porting or creating a BSP to a new platform, we often need to make change to OEMIoControl or HAL IOCTL handler for more specific. Since Microsoft introduced PQOAL in CE 5.0 and more and more BSP today leverages PQOAL to simplify the OAL, we no longer define the OEMIoControl directly. It is somehow analogous to migrate from pure Windows SDK to MFC; people starts to define those MFC handlers and forgot the WinMain and the big message loop. If you ever take a look at the interface between OAL and Kernel, PUBLIC\COMMON\OAK\INC\oemglobal.h, the pfnOEMIoctl is still there just as the entry point of Windows Program is WinMain since day one. (For those may argue about pfnOEMIoctl is not OEMIoControl, I will encourage you to dig into PRIVATE\WINCEOS\COREOS\NK\OEMMAIN\oemglobal.c which initialized pfnOEMIoctl to OEMIoControl. The interface is just to split OAL and Kernel which no longer linked to one executable file in CE 6, all of the function signature is still identical) So let's trace into PQOAL to realize how it implements OEMIoControl and how can we override an IOCTL handler we interest. First thing to know is the entry point (just as finding the WinMain in MFC), OEMIoControl is defined in PLATFORM\COMMON\SRC\COMMON\IOCTL\ioctl.c. Basically, it does nothing special but scan a pre-defined IOCTL table, g_oalIoCtlTable, and then execute the handler. (The highlight part) Other than that is just for error handling and the use of critical section to serialize the function. BOOL OEMIoControl(     DWORD code, VOID *pInBuffer, DWORD inSize, VOID *pOutBuffer, DWORD outSize,     DWORD *pOutSize ) {     BOOL rc = FALSE;     UINT32 i; ...     // Search the IOCTL table for the requested code.     for (i = 0; g_oalIoCtlTable[i].pfnHandler != NULL; i++) {         if (g_oalIoCtlTable[i].code == code) break;     }     // Indicate unsupported code     if (g_oalIoCtlTable[i].pfnHandler == NULL) {         NKSetLastError(ERROR_NOT_SUPPORTED);         OALMSG(OAL_IOCTL, (             L"OEMIoControl: Unsupported Code 0x%x - device 0x%04x func %d\r\n",             code, code >> 16, (code >> 2)&0x0FFF         ));         goto cleanUp;     }            // Take critical section if required (after postinit & no flag)     if (         g_ioctlState.postInit &&         (g_oalIoCtlTable[i].flags & OAL_IOCTL_FLAG_NOCS) == 0     ) {         // Take critical section                    EnterCriticalSection(&g_ioctlState.cs);     }     // Execute the handler     rc = g_oalIoCtlTable[i].pfnHandler(         code, pInBuffer, inSize, pOutBuffer, outSize, pOutSize     );     // Release critical section if it was taken above     if (         g_ioctlState.postInit &&         (g_oalIoCtlTable[i].flags & OAL_IOCTL_FLAG_NOCS) == 0     ) {         // Release critical section                    LeaveCriticalSection(&g_ioctlState.cs);     } cleanUp:     OALMSG(OAL_IOCTL&&OAL_FUNC, (L"-OEMIoControl(rc = %d)\r\n", rc ));     return rc; }   Where is the g_oalIoCtlTable? It is defined in your BSP. Let's use DeviceEmulator BSP as an example. The PLATFORM\DEVICEEMULATOR\SRC\OAL\OALLIB\ioctl.c defines the table as const OAL_IOCTL_HANDLER g_oalIoCtlTable[] = { #include "ioctl_tab.h" }; And that leads to PLATFORM\DEVICEEMULATOR\SRC\INC\ioctl_tab.h which defined some of IOCTL handler but others are defined in oal_ioctl_tab.h which is under PLATFORM\COMMON\SRC\INC\. Finally, we got the full table body! (Just like tracing MFC, always jumping back and forth). The format of table is very straight forward, IOCTL code, Flags and Handler Function // IOCTL CODE,                          Flags   Handler Function //------------------------------------------------------------------------------ { IOCTL_HAL_INITREGISTRY,                   0,  OALIoCtlHalInitRegistry     }, { IOCTL_HAL_INIT_RTC,                       0,  OALIoCtlHalInitRTC          }, { IOCTL_HAL_REBOOT,                         0,  OALIoCtlHalReboot           }, The PQOAL scans through the table until it find a matched IOCTL code, then invokes the handler function. Since it scans the table from the top which means if we define TWO handler with same IOCTL code, the first one is always invoked with no exception. Now back to the PLATFORM\DEVICEEMULATOR\SRC\INC\ioctl_tab.h, with the following table { IOCTL_HAL_INITREGISTRY,                   0,  OALIoCtlDeviceEmulatorHalInitRegistry     }, ... #include <oal_ioctl_tab.h> Note the IOCTL_HAL_INITREGISTRY handler are defined in both BSP's local ioctl_tab.h and the common oal_ioctl_tab.h, but due to BSP's local handler comes before "#include <oal_ioctl_tab.h>" so we know the OALIoCtlDeviceEmulatorHalInitRegistry always get called. In this example, the DeviceEmulator BSP overrides the IOCTL_HAL_INITREGISTRY handler from OALIoCtlHalInitRegistry to OALIoCtlDeviceEmulatorHalInitRegistry by manipulating the g_oalIoCtlTable table. (In some point of view, it is similar to message map in MFC) Please be aware, when you override an IOCTL handler in PQOAL, you may want to clone the original implementation to your BSP and change to meet your need. It is recommended and save you the redundant works but remember to rename the handler function (Just like the DeviceEmulator it changes the name of OALIoCtlHalInitRegistry to OALIoCtlDeviceEmulatorHalInitRegistry). If you don't change the name, linker may not be happy (due to name conflict) and the more important is by using different handler name, you could always redirect the handler back to original one. (It is like the concept of OOP that calling a function in base class; still not so clear? I am goinf to show you soon!) The OALIoCtlDeviceEmulatorHalInitRegistry setups DeviceEmulator specific registry settings and in the end, if everything goes well, it calls the OALIoCtlHalInitRegistry (PLATFORM\COMMON\SRC\COMMON\IOCTL\reginit.c) to do the rest.     if(fOk) {         fOk = OALIoCtlHalInitRegistry(code, pInpBuffer, inpSize, pOutBuffer,             outSize, pOutSize);     } Now you got the picture, whenever you want to override an IOCTL hadnler that is implemented in PQOAL just Clone the handler function to your BSP as a template. Simple name change for the handler function, and a name change in the IOCTL table header file that maps the IOCTL with the function Implement your IOCTL handler and whenever you need to redirect it back just calling the original handler function. It is the standard way of implementing a custom IOCTL and most Microsoft developers prefer. The mapping of IOCTL routine to IOCTL code is platform specific - you control the header file that does that mapping.

    Read the article

< Previous Page | 329 330 331 332 333 334 335 336 337 338 339 340  | Next Page >