ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

kcom.c
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:       See COPYING in the top level directory
00003  * PROJECT:         ReactOS Kernel Streaming
00004  * FILE:            drivers/ksfilter/ks/allocators.c
00005  * PURPOSE:         KS Allocator functions
00006  * PROGRAMMER:      Johannes Anderwald
00007                     Andrew Greenwood
00008  */
00009 
00010 #include "priv.h"
00011 
00012 const GUID IID_IUnknown = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x46}};
00013 
00014 /* http://msdn2.microsoft.com/en-us/library/ms809781.aspx */
00015 COMDDKAPI NTSTATUS NTAPI
00016 KoCreateInstance(
00017     IN  REFCLSID ClassId,
00018     IN  IUnknown* UnkOuter OPTIONAL,
00019     IN  ULONG ClsContext,
00020     IN  REFIID InterfaceId,
00021     OUT PVOID* Interface)
00022 {
00023     /* If UnkOuter isn't NULL, it must be IUnknown - TODO: CHECK THIS PARAM */
00024     /* TODO: Check IRQL? */
00025 
00026     DPRINT("KoCreateInstance called\n");
00027 
00028     if ( ClsContext != CLSCTX_KERNEL_SERVER )
00029     {
00030         DPRINT("KoCreateInstance: ClsContext must be CLSCTX_KERNEL_SERVER\n");
00031         return STATUS_INVALID_PARAMETER_3;
00032     }
00033 
00034     if (IsEqualGUIDAligned(InterfaceId, &IID_IUnknown))
00035     {
00036         DPRINT("KoCreateInstance: InterfaceId cannot be IID_IUnknown\n");
00037         return STATUS_INVALID_PARAMETER_4;
00038     }
00039 
00040 
00041     /*
00042         Find the desired interface and create an instance.
00043 
00044         But we also need to supply a
00045         pointer which will be set to a list of available interfaces, to
00046         IoGetDeviceInterfaces.
00047 
00048         We can then create a file based on this information and thus talk
00049         to the appropriate device.
00050 
00051         Useful references:
00052             http://www.freelists.org/archives/wdmaudiodev/01-2003/msg00023.html
00053 
00054         TODO
00055     */
00056 
00057     DPRINT("** FAKING SUCCESS **\n");
00058 
00059     return STATUS_SUCCESS;
00060 }

Generated on Fri May 25 2012 04:26:04 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.