Stable API's for GRC 2010 - simulation function needed

Dear gurus,
I have an ABAP application I want to integrate with GRC 2010 (on the ABAP stack). I understand this is ramp-up and not all API's are available yet, but need one which is pretty basic so was hoping it would exist with documentation and is released.
My intention:
1) The user with various authorizations already exists.
2) My application wants to generate an additional role for the user because they are missing some auths during testing of the roles.
3) Each authorization generated should call the GRC API to simulate whether this would cause an SOD for the user.
4) I will generate and assign anyway, but export those authorizations for which SOD warning messages were raised.
5) Messages are logged for rework / mitigation, but the role build and test can continue.
Is there any documented API with a stable interface for a function which returns messages based information for SOD's which can be reacted to for an existing user and all their ABAP authorization object based auths AND a simulation of whether authorization data sent to it would produce an SOD.
Plan B would be to generate the role and simulate the assignment and return messages of which auths in the role caused the SOD.
I would expect that GRC is open minded enough to release such APIs to the ruleset , but if I am mistaken then "show stopper" answers are also appreciated as being a lesser evil...
Cheers,
Julius

Thanks Supreet,
I know that GRC can do an SOD check and also simulation of an SOD check "as if" the user had an additional role (which you want to assign but know in advance whether that will cause an SOD conflict). In it's previous life on the ABAP stack it was known as "Risk Rerminator". I am aware of the "old" /VIRSA/ function modules and the coding technique they used.... but have some doubts that GRC 2010 still uses those nor the same approach, which is why I am looking for a stable API.
My application makes the assumption that GRC is already installed and wants to generate a role for a user based on a test case they are executing. In my UI where the trace data is being analyzed, I want to add some intuitive highlighting and warnings for SOD conflicts which would happen if the role were generated and assigned.
At this ponit in time, the role does not actually exist yet so ideally I would want to send the API the authorization data and not just the role name. I could however for simplicity sake generate the role anyway but need at least the API to tell me which authorizations in the role are causing the SoD conflict with the user's already existing authorizations.
I am very much hoping to find something like a BAPI_GRC_SIMULATE_SOD which is documented and stable and offers an import parameter with a structure something like this for the authorization data:
OBJECT                         CHARACTER       10
LFDNR                          NUMC            3
FIELD                          CHARACTER       10
LOW                            CHARACTER       40
HIGH                           CHARACTER       40
MODIFIER                       CHARACTER       12
MODDATE                        DATE
MODTIME                        TIME
... together with the user name of course, and then returns SOD warnings per OBJECT and LFDNR (which is just a sequencial number for the authorization instance).
Of course it only works if GRC is installed....
Cheers,
Julius
Edited by: Julius Bussche on Jan 27, 2011 7:56 AM

Similar Messages

  • API - method for Webdynpro Java iview functionality of Print

    I know.. you would love to post me with n different blogs and forums discussion about how to print from webdynpro java application.
    But lets read before what i am looking for..
    There is standard "Print" function available on webdynpro for java iview.. and layout and all its just fine for us. though we want to trigger this event from a screen button. as going to iview properties is very user friendly.
    I was looking for some iview api which can help me.. We are on NW 7.01 SP6 at the moment. And this is for standard ESS applications.
    Thanks a lot for your inputs.
    Regards,
    Sudhir

    Hi
    You can write Java program for printing. Call the java class from screen (button or Url). Also you can write the content to XMl file.open the xml file in action. so that u will get print preview and print option.

  • Converting a VBScript for Exchange 2003 to Function the same for Exchange 2010

    Converting a VBScript for Exchange 2003 to Function the same for Exchange 2010
    Afternoon;
    I've run into a problem at this time.  We are currently looking into migrating from Exchange 2003 into Exchange 2010 and I'm finding that my normal data collection method is no longer usable in Exchange 2010.  I have the script posted below as of
    what I'm currently using to collect my information, I just need to know of a means to continue the collection when we move to the new Exchange server.  Any assistance in getting this to function with Exchange 2010 would be great.
    ++++++++++++++++++++++++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++++++++++++++++++++++++
    On Error Resume Next
    'Date Stamp for File Name
    Function TIMESTAMP
      strDate = CDate(Date)
      strDay = DatePart("d", strDate)
      strMonth = DatePart("m", strDate)
      strYear = DatePart("yyyy", strDate)
      If strDay < 10 Then
        strDay = "0" & strDay
      End If
      If strMonth < 10 Then
        strMonth = "0" & strMonth
      End If
      TIMESTAMP = strYear & strMonth & strDay
    End Function
    'Drop Location Vars Set
    DRP01 = 1
    DRP02 = 1
    'Live Check SQL04
    strVIC = "SQL04"
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery ("Select * from Win32_PingStatus Where Address = '" & strVIC & "'")
    For Each objItem in colItems
        DRP01 = objItem.StatusCode
    Next
    'Live Check FS02
    strVIC = "FS02"
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery ("Select * from Win32_PingStatus Where Address = '" & strVIC & "'")
    For Each objItem in colItems
        DRP02 = objItem.StatusCode
    Next
    'Setup STOREDIR Location
    If DRP01 = 0 Then
        STOREDIR = "\\SQL04\Email\Collected\" 'Primary Data Storage Location
        Else
        If DRP02 = 0 Then
            STOREDIR = "\\FS02\Shared\MIS\Daniel\" 'Secondary Data Storage Location
            Else
            STOREDIR = "C:\Scripts\Logs\" 'Tertiary Data Storage Location
        End If
    End If
    'STOREDIR Check for Availability
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.FolderExists(STOREDIR) Then
        AVAIL = 1
        Else
        AVAIL = 0
    End If
    'Sets Failsafe STOREDIR
    If AVAIL = 0 Then
        STOREDIR = "C:\Scripts\" 'Last Chance DIR for Data Files
    End If
    'Sets Filename
    FILENAME = TIMESTAMP & ".csv"
    'Testing Purposes Only
    'wscript.echo TIMESTAMP
    'wscript.echo STOREDIR & vbNewLine & FILENAME & vbnewline & vbnewline & AVAIL
    'Sets Process Variables
    cComputerName = "EXCH02" ' Exchange Server Name or IP Address
    DIM fso, ObjFile
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ObjFile = fso.CreateTextFile(STOREDIR & FILENAME, True)
    'ObjFile.WriteLine("Date,Display Name,Size(KB)")
    Const cWMINameSpace = "root/MicrosoftExchangeV2"
    Const cWMIInstance = "Exchange_Mailbox"
    Dim strWinMgmts            
    Dim objWMIExchange   
    Dim listExchange_Mailboxs  
    Dim objExchange_Mailbox           
    strWinMgmts = "winmgmts:{impersonationLevel=impersonate}!//" & cComputerName &"/" & cWMINameSpace
    Set objWMIExchange =  GetObject(strWinMgmts)
    'Checks for Email Record and Records to File
    If Err.Number <> 0 Then
      ObjFile.WriteLine("ERROR:" & VBNEWLINE & Err.Number & VBNEWLINE & Err.Description)
    Else
      Set listExchange_Mailboxs = objWMIExchange.InstancesOf(cWMIInstance)
      If (listExchange_Mailboxs.count > 0) Then
        For Each objExchange_Mailbox in listExchange_Mailboxs
           ObjFile.WriteLine(TIMESTAMP & "," & objExchange_Mailbox.MailboxDisplayName & "," & objExchange_Mailbox.Size)
        Next
      Else
        ObjFile.WriteLine("WARNING: No Exchange_Mailbox instances were returned.")
      End If
    End If
    ObjFile.Close
    VBScript is what I prefer. All scripts must have a kill switch to manage them from a primary location. Mine, is an updater method.
    VBScript is what I prefer. All scripts must have a kill switch to manage them from a primary location. Mine, is an updater method.

    Okay, then what about an alternative for getting the same result. The file associated in the article is too much.  All we need is something simple for a single exchange server with 180 users.  We only need to pull UserName and DataSize(KB).
    I only need to collect two pieces of information from the exchange server and the third piece is forced due to the date of when the information was collected.  This way I can sort and filter by Date and Name to see a trend of the users mailbox usage
    size.
    Every day this runs, it determines the date of the file which is also the first piece, then pulls from the exchange server the entire list of users (the second piece), and then the respective user's mailbox size in KB (the third piece).  This all is
    dropped into a CSV file later used to import into a database before being archived, done by a second task on the server.  Later used by a shared Excel PowerPivot document among the department.
    Those of us in the server admin group use this to, at a glance, see the collective size of email usage on the server.  Mainly used as a means of catching an incident before it happens.  We are currently keeping our users around a collective 80GB
    of use out of the well received limit of 110GB on Exchange 2003 and limiting the user's ability to send and receive email by email quota is apparently not accepted for us to do.  So we use this to determine who we need to visit and force archive their
    email so the server doesn't fail due to the size limit.
    VBScript is what I prefer. All scripts must have a kill switch to manage them from a primary location. Mine, is an updater method.

  • Taskbar Jumplist anomalies for Word 2010 and Excel 2010

    I am having problems with missing jumplists for Office 2010 products (Word and Excel) pinned on the Windows 7 taskbar, **BUT** have no problems with jumplists for Notepad and IE pinned on the taskbar.
    Observation 1: I just upgraded from Office 2010 Starter to full Office 2010 by getting a product key. Full Office 2010 was installed on my laptop when I purchased it but only Starter was licensed. Full Office 2010 was unusable until the upgrade. I suspect
    the leapfrog from Starter to full Office 2010 might have a part in this jumplist issue.
    Observation 2: I can see from a DOS prompt that the AutomaticDestinations and CustomDestinations folders exist under Recent. However, from Windows Explorer I cannot see the 2 folders under Recent. (That may be a clue…if other people CAN see the 2 folders
    from Windows Explorer.)
    Observation 3: In DOS, I can see that both directories have files ending in -ms. I can also see updates (new files with fresh timestamps) from opening Word and Excel files in those 2 directories. It’s almost like Word and Excel don’t understand to go look
    in those 2 directories after the Office upgrade, even though Windows 7 (?) generates the -ms files for the jumplist function.
    Observation 4: Again, no problems with Notepad and IE jumplists. I can remove the files from the AutomaticDestinations folder and cause Notepad to have no jumplist items, and then restore them and Notepad has jumplist contents again.
    Observation 5:  I had no problem using jumplists with Word Starter and Excel Starter.  All references to Office/Word/Excel Starter are now gone from the Starter button and All Programs - sent to Recycle bin.  I deleted the Word Starter
    and Excel Starter entries when I upgraded, but I just deleted the Microsoft Office Starter (Englisgh) entry under All Programs today...I thought it was a benign entry and wouldn't hurt since I wasn't using it.  Maybe there's some corruption in registry
    as a result of the mixture.  Interestingly, I can drag a file created in Word Starter to the taskbar and it will try to pin it to the Word Starter taskbar "ghost" that's in the Recycle bin.
    Any clues anyone?  I have no large files in the two destination folders, and have only about 20 files total in each folder...far fewer than the 999 threshhold mentioned in one of the updates for Office 2010.
    Thank you!

    I encountered exactly the same problem, and under exactly the same circumstances as the original poster (upgraded from Office Starter to Home and Business; jump lists worked fine in Starter, then stopped working for Excel and Word after upgrading). 
    Like the original poster, none of the various fixes found online corrected the problem, nor did re-installing Office.
    I also tried what was suggested by Max Meng and created a new User Account. The problem occurred for the new account, just as it did with the old one.
    After about 6 hours of fighting, I have finally solved the problem.  The solution is not easy, fast or pretty.
    What I did was uninstall Office (again) using the Control Panel. Then I ran a FixIt utility found here:
    http://support.microsoft.com/kb/290301 (method 2)
    My hope was that this would do additional registry clean-up.  I knew from earlier attempts that this alone would not fix the problem, though.
    Despite uninstalling twice, there were still a lot of references left in the registry to "Word Starter" and "Excel Starter".  Likewise, there were still references to "WINWORDC.EXE" and "EXCELC.EXE", which are the starter versions of the executables.
    So I went through the registry using RegEdit, and manually deleted every key which included those strings.  The largest number of cases were file type definitions for various Word and Excel file extensions.  When in doubt, I deleted entire tag
    hierarchies for Word and Office file types, figuring that they would be restored when I reinstalled Office.  In the process, I removed pretty much every reference to Word or Excel that I could find in the registry.
    I also deleted any directory on my hard drive (in c:\Program Files(x86), c:\Program Data, and c:\Users\<name>\AppData which appeared to be related to Office.
    Having done this, I reinstalled again, and the jump lists for Word and Excel now work.
    In debugging the problem, I found that .automaticDestination-ms files (which contain the data behind the jump lists) were not being created when I opened Word or Excel documents; they *were* being created when I manually pinned individual files to the
    taskbar, however. 
    I suspect that this might be due to the long hexadecimal filename being based on a hash of the application name, or what the system thinks is the application name based on the file type.  Removing the references to "Word Starter" and "Excel Starter",
    and the corresponding WINWORDC.EXE and EXCELC.EXE in the registry might have cleared up this problem.
    Obviously this fix is potentially risky, and should only be attempted if you are comfortable editing the registry. Making a full system backup beforehand would be a wise precaution.  For this specific case, however (broken jump lists after
    upgrading from Starter to full Office) it would appear the only alternative is a clean install of Windows (to wipe the registry completely).

  • Is there any API's for providing FTP using ssh port.

    Currently we are having a requirement to FTP files only using ssh port(Secure FTP). Can anyone please suggest me an API which provides the FTP'ing operation using SSH port.

    I am currently using a Sinetfactory thirdparty package from JScape for the Secure FTP functionality(FTP over SSH). But Sinetfactory package tranfer rate is much slower than the manual sftp(command-line run in linux server for manual ftp using ssh).
    Since it is very slower than ordinary sftp(ftp over ssh), I thought of using other thirdparty FTP package which supports FTP using ssh port. Can anyone please suggest me a thirdparty package which will has the sftp functionality and with better transfer rate.

  • Sending and receivind ADC coefficients from/to soundcard in VBA for Excel 2010

    How to send  and receive ADC coefficients from/to soundcard(mixer,microphone)     in VBA for Excel 2010   (noncom. edition, x64)   to Excel macros for DFT (from IDFT), IIR , user defined samples parser   (special
    noise generator, graphic s(t),S(jw), arg s(jw)    soundcard AFR test ) ?
    What .dll is need for this (without bass.dll)?

    Example from internet :
    'This project needs a module and a form
    'The form must contain two labels, two progressbars, a timer and a checkbox
    'Paste this code into the form
    Dim hmixer As Long ' mixer handle
    Dim inputVolCtrl As MIXERCONTROL ' waveout volume control
    Dim outputVolCtrl As MIXERCONTROL ' microphone volume control
    Dim rc As Long ' return code
    Dim ok As Boolean ' boolean return code
    Dim mxcd As MIXERCONTROLDETAILS ' control info
    Dim vol As MIXERCONTROLDETAILS_SIGNED ' control's signed value
    Dim volume As Long ' volume value
    Dim volHmem As Long ' handle to volume memory
    Private Sub Form_Load()
    Me.ScaleMode = vbTwips
    Me.Caption = "Volume meter"
    Label1.Move 0, 0
    Label1.AutoSize = True
    Label1.Caption = "Input level"
    Label2.Move 0, 4 * Label1.Height
    Label2.AutoSize = True
    Label2.Caption = "Output level"
    ProgressBar1.Move Label1.Width * 2, 0, 3375
    ProgressBar2.Move Label1.Width * 2, Label2.Top, 3375
    Check1.Move ProgressBar1.Left, ProgressBar1.Height
    Check1.Caption = "Get Input"
    Me.Move Me.Left, Me.Top, ProgressBar1.Width + ProgressBar1.Left + 10 * Screen.TwipsPerPixelX, ProgressBar2.Top + ProgressBar2.Height + 30 * Screen.TwipsPerPixelY
    Timer1.Interval = 50
    Timer1.Enabled = True
    ' Open the mixer specified by DEVICEID
    rc = mixerOpen(hmixer, DEVICEID, 0, 0, 0)
    If ((MMSYSERR_NOERROR &lt;&gt; rc)) Then
    MsgBox "Couldn't open the mixer."
    Exit Sub
    End If
    ' Get the input volume meter
    ok = GetControl(hmixer, MIXERLINE_COMPONENTTYPE_DST_WAVEIN, MIXERCONTROL_CONTROLTYPE_PEAKMETER, inputVolCtrl)
    If (ok &lt;&gt; True) Then
    ok = GetControl(hmixer, MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, MIXERCONTROL_CONTROLTYPE_PEAKMETER, inputVolCtrl)
    End If
    If (ok = True) Then
    ProgressBar1.Min = 0
    ProgressBar1.Max = inputVolCtrl.lMaximum
    Else
    ProgressBar1.Enabled = False
    MsgBox "Couldn't get wavein meter"
    End If
    ' Get the output volume meter
    ok = GetControl(hmixer, MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT, MIXERCONTROL_CONTROLTYPE_PEAKMETER, outputVolCtrl)
    If (ok = True) Then
    ProgressBar2.Min = 0
    ProgressBar2.Max = outputVolCtrl.lMaximum
    Else
    ProgressBar2.Enabled = False
    MsgBox "Couldn't get waveout meter"
    End If
    ' Initialize mixercontrol structure
    mxcd.cbStruct = Len(mxcd)
    volHmem = GlobalAlloc(&amp;H0, Len(volume)) ' Allocate a buffer for the volume value
    mxcd.paDetails = GlobalLock(volHmem)
    mxcd.cbDetails = Len(volume)
    mxcd.cChannels = 1
    End Sub
    Private Sub Check1_Click()
    If (Check1.Value = 1) Then
    StartInput ' Start receiving audio input
    Else
    StopInput ' Stop receiving audio input
    End If
    End Sub
    Private Sub Timer1_Timer()
    On Error Resume Next
    ' Process sound buffer if recording
    If (fRecording) Then
    For i = 0 To (NUM_BUFFERS - 1)
    If inHdr(i).dwFlags And WHDR_DONE Then
    rc = waveInAddBuffer(hWaveIn, inHdr(i), Len(inHdr(i)))
    End If
    Next
    End If
    ' Get the current input level
    If (ProgressBar1.Enabled = True) Then
    mxcd.dwControlID = inputVolCtrl.dwControlID
    mxcd.item = inputVolCtrl.cMultipleItems
    rc = mixerGetControlDetails(hmixer, mxcd, MIXER_GETCONTROLDETAILSF_VALUE)
    CopyStructFromPtr volume, mxcd.paDetails, Len(volume)
    If (volume &lt; 0) Then
    volume = -volume
    End If
    ProgressBar1.Value = volume
    End If
    ' Get the current output level
    If (ProgressBar2.Enabled = True) Then
    mxcd.dwControlID = outputVolCtrl.dwControlID
    mxcd.item = outputVolCtrl.cMultipleItems
    rc = mixerGetControlDetails(hmixer, mxcd, MIXER_GETCONTROLDETAILSF_VALUE)
    CopyStructFromPtr volume, mxcd.paDetails, Len(volume)
    If (volume &lt; 0) Then volume = -volume
    ProgressBar2.Value = volume
    End If
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
    If (fRecording = True) Then
    StopInput
    End If
    GlobalFree volHmem
    End Sub
    'Paste this code into the module
    Public Const CALLBACK_FUNCTION = &amp;H30000
    Public Const MM_WIM_DATA = &amp;H3C0
    Public Const WHDR_DONE = &amp;H1 ' done bit
    Public Const GMEM_FIXED = &amp;H0 ' Global Memory Flag used by GlobalAlloc functin
    Type WAVEHDR
    lpData As Long
    dwBufferLength As Long
    dwBytesRecorded As Long
    dwUser As Long
    dwFlags As Long
    dwLoops As Long
    lpNext As Long
    Reserved As Long
    End Type
    Type WAVEINCAPS
    wMid As Integer
    wPid As Integer
    vDriverVersion As Long
    szPname As String * 32
    dwFormats As Long
    wChannels As Integer
    End Type
    Type WAVEFORMAT
    wFormatTag As Integer
    nChannels As Integer
    nSamplesPerSec As Long
    nAvgBytesPerSec As Long
    nBlockAlign As Integer
    wBitsPerSample As Integer
    cbSize As Integer
    End Type
    Declare Function waveInOpen Lib "winmm.dll" (lphWaveIn As Long, ByVal uDeviceID As Long, lpFormat As WAVEFORMAT, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long
    Declare Function waveInPrepareHeader Lib "winmm.dll" (ByVal hWaveIn As Long, lpWaveInHdr As WAVEHDR, ByVal uSize As Long) As Long
    Declare Function waveInReset Lib "winmm.dll" (ByVal hWaveIn As Long) As Long
    Declare Function waveInStart Lib "winmm.dll" (ByVal hWaveIn As Long) As Long
    Declare Function waveInStop Lib "winmm.dll" (ByVal hWaveIn As Long) As Long
    Declare Function waveInUnprepareHeader Lib "winmm.dll" (ByVal hWaveIn As Long, lpWaveInHdr As WAVEHDR, ByVal uSize As Long) As Long
    Declare Function waveInClose Lib "winmm.dll" (ByVal hWaveIn As Long) As Long
    Declare Function waveInGetDevCaps Lib "winmm.dll" Alias "waveInGetDevCapsA" (ByVal uDeviceID As Long, lpCaps As WAVEINCAPS, ByVal uSize As Long) As Long
    Declare Function waveInGetNumDevs Lib "winmm.dll" () As Long
    Declare Function waveInGetErrorText Lib "winmm.dll" Alias "waveInGetErrorTextA" (ByVal err As Long, ByVal lpText As String, ByVal uSize As Long) As Long
    Declare Function waveInAddBuffer Lib "winmm.dll" (ByVal hWaveIn As Long, lpWaveInHdr As WAVEHDR, ByVal uSize As Long) As Long
    Public Const MMSYSERR_NOERROR = 0
    Public Const MAXPNAMELEN = 32
    Public Const MIXER_LONG_NAME_CHARS = 64
    Public Const MIXER_SHORT_NAME_CHARS = 16
    Public Const MIXER_GETLINEINFOF_COMPONENTTYPE = &amp;H3&amp;
    Public Const MIXER_GETCONTROLDETAILSF_VALUE = &amp;H0&amp;
    Public Const MIXER_GETLINECONTROLSF_ONEBYTYPE = &amp;H2&amp;
    Public Const MIXERLINE_COMPONENTTYPE_DST_FIRST = &amp;H0&amp;
    Public Const MIXERLINE_COMPONENTTYPE_SRC_FIRST = &amp;H1000&amp;
    Public Const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 4)
    Public Const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3)
    Public Const MIXERLINE_COMPONENTTYPE_SRC_LINE = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2)
    Public Const MIXERCONTROL_CT_CLASS_FADER = &amp;H50000000
    Public Const MIXERCONTROL_CT_UNITS_UNSIGNED = &amp;H30000
    Public Const MIXERCONTROL_CT_UNITS_SIGNED = &amp;H20000
    Public Const MIXERCONTROL_CT_CLASS_METER = &amp;H10000000
    Public Const MIXERCONTROL_CT_SC_METER_POLLED = &amp;H0&amp;
    Public Const MIXERCONTROL_CONTROLTYPE_FADER = (MIXERCONTROL_CT_CLASS_FADER Or MIXERCONTROL_CT_UNITS_UNSIGNED)
    Public Const MIXERCONTROL_CONTROLTYPE_VOLUME = (MIXERCONTROL_CONTROLTYPE_FADER + 1)
    Public Const MIXERLINE_COMPONENTTYPE_DST_WAVEIN = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 7)
    Public Const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 8)
    Public Const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER = (MIXERCONTROL_CT_CLASS_METER Or MIXERCONTROL_CT_SC_METER_POLLED Or MIXERCONTROL_CT_UNITS_SIGNED)
    Public Const MIXERCONTROL_CONTROLTYPE_PEAKMETER = (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1)
    Declare Function mixerClose Lib "winmm.dll" (ByVal hmx As Long) As Long
    Declare Function mixerGetControlDetails Lib "winmm.dll" Alias "mixerGetControlDetailsA" (ByVal hmxobj As Long, pmxcd As MIXERCONTROLDETAILS, ByVal fdwDetails As Long) As Long
    Declare Function mixerGetDevCaps Lib "winmm.dll" Alias "mixerGetDevCapsA" (ByVal uMxId As Long, ByVal pmxcaps As MIXERCAPS, ByVal cbmxcaps As Long) As Long
    Declare Function mixerGetID Lib "winmm.dll" (ByVal hmxobj As Long, pumxID As Long, ByVal fdwId As Long) As Long
    Declare Function mixerGetLineInfo Lib "winmm.dll" Alias "mixerGetLineInfoA" (ByVal hmxobj As Long, pmxl As MIXERLINE, ByVal fdwInfo As Long) As Long
    Declare Function mixerGetLineControls Lib "winmm.dll" Alias "mixerGetLineControlsA" (ByVal hmxobj As Long, pmxlc As MIXERLINECONTROLS, ByVal fdwControls As Long) As Long
    Declare Function mixerGetNumDevs Lib "winmm.dll" () As Long
    Declare Function mixerMessage Lib "winmm.dll" (ByVal hmx As Long, ByVal uMsg As Long, ByVal dwParam1 As Long, ByVal dwParam2 As Long) As Long
    Declare Function mixerOpen Lib "winmm.dll" (phmx As Long, ByVal uMxId As Long, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal fdwOpen As Long) As Long
    Declare Function mixerSetControlDetails Lib "winmm.dll" (ByVal hmxobj As Long, pmxcd As MIXERCONTROLDETAILS, ByVal fdwDetails As Long) As Long
    Declare Sub CopyStructFromPtr Lib "kernel32" Alias "RtlMoveMemory" (struct As Any, ByVal ptr As Long, ByVal cb As Long)
    Declare Sub CopyPtrFromStruct Lib "kernel32" Alias "RtlMoveMemory" (ByVal ptr As Long, struct As Any, ByVal cb As Long)
    Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
    Declare Function GlobalLock Lib "kernel32" (ByVal hmem As Long) As Long
    Declare Function GlobalFree Lib "kernel32" (ByVal hmem As Long) As Long
    Type MIXERCAPS
    wMid As Integer
    wPid As Integer
    vDriverVersion As Long
    szPname As String * MAXPNAMELEN
    fdwSupport As Long
    cDestinations As Long
    End Type
    Type MIXERCONTROL
    cbStruct As Long
    dwControlID As Long
    dwControlType As Long
    fdwControl As Long
    cMultipleItems As Long
    szShortName As String * MIXER_SHORT_NAME_CHARS
    szName As String * MIXER_LONG_NAME_CHARS
    lMinimum As Long
    lMaximum As Long
    Reserved(10) As Long
    End Type
    Type MIXERCONTROLDETAILS
    cbStruct As Long
    dwControlID As Long
    cChannels As Long
    item As Long
    cbDetails As Long
    paDetails As Long
    End Type
    Type MIXERCONTROLDETAILS_SIGNED
    lValue As Long
    End Type
    Type MIXERLINE
    cbStruct As Long
    dwDestination As Long
    dwSource As Long
    dwLineID As Long
    fdwLine As Long
    dwUser As Long
    dwComponentType As Long
    cChannels As Long
    cConnections As Long
    cControls As Long
    szShortName As String * MIXER_SHORT_NAME_CHARS
    szName As String * MIXER_LONG_NAME_CHARS
    dwType As Long
    dwDeviceID As Long
    wMid As Integer
    wPid As Integer
    vDriverVersion As Long
    szPname As String * MAXPNAMELEN
    End Type
    Type MIXERLINECONTROLS
    cbStruct As Long
    dwLineID As Long
    dwControl As Long
    cControls As Long
    cbmxctrl As Long
    pamxctrl As Long
    End Type
    Public i As Integer, j As Integer, rc As Long, msg As String * 200, hWaveIn As Long
    Public Const NUM_BUFFERS = 2
    Public format As WAVEFORMAT, hmem(NUM_BUFFERS) As Long, inHdr(NUM_BUFFERS) As WAVEHDR
    Public Const BUFFER_SIZE = 8192
    Public Const DEVICEID = 0
    Public fRecording As Boolean
    Function GetControl(ByVal hmixer As Long, ByVal componentType As Long, ByVal ctrlType As Long, ByRef mxc As MIXERCONTROL) As Boolean
    ' This function attempts to obtain a mixer control. Returns True if successful.
    Dim mxlc As MIXERLINECONTROLS
    Dim mxl As MIXERLINE
    Dim hmem As Long
    Dim rc As Long
    mxl.cbStruct = Len(mxl)
    mxl.dwComponentType = componentType
    ' Obtain a line corresponding to the component type
    rc = mixerGetLineInfo(hmixer, mxl, MIXER_GETLINEINFOF_COMPONENTTYPE)
    If (MMSYSERR_NOERROR = rc) Then
    mxlc.cbStruct = Len(mxlc)
    mxlc.dwLineID = mxl.dwLineID
    mxlc.dwControl = ctrlType
    mxlc.cControls = 1
    mxlc.cbmxctrl = Len(mxc)
    ' Allocate a buffer for the control
    'hmem = GlobalAlloc(&amp;H40, Len(mxc))
    hmem = GlobalAlloc(GMEM_FIXED, Len(mxc))
    mxlc.pamxctrl = GlobalLock(hmem)
    mxc.cbStruct = Len(mxc)
    ' Get the control
    rc = mixerGetLineControls(hmixer, mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE)
    If (MMSYSERR_NOERROR = rc) Then
    GetControl = True
    ' Copy the control into the destination structure
    CopyStructFromPtr mxc, mxlc.pamxctrl, Len(mxc)
    Else
    GetControl = False
    End If
    GlobalFree (hmem)
    Exit Function
    End If
    GetControl = False
    End Function
    ' Function to process the wave recording notifications.
    Sub waveInProc(ByVal hwi As Long, ByVal uMsg As Long, ByVal dwInstance As Long, ByRef hdr As WAVEHDR, ByVal dwParam2 As Long)
    If (uMsg = MM_WIM_DATA) Then
    If fRecording Then
    rc = waveInAddBuffer(hwi, hdr, Len(hdr))
    End If
    End If
    End Sub
    ' This function starts recording from the soundcard. The soundcard must be recording in order to
    ' monitor the input level. Without starting the recording from this application, input level
    ' can still be monitored if another application is recording audio
    Function StartInput() As Boolean
    If fRecording Then
    StartInput = True
    Exit Function
    End If
    format.wFormatTag = 1
    format.nChannels = 1
    format.wBitsPerSample = 8
    format.nSamplesPerSec = 8000
    format.nBlockAlign = format.nChannels * format.wBitsPerSample / 8
    format.nAvgBytesPerSec = format.nSamplesPerSec * format.nBlockAlign
    format.cbSize = 0
    For i = 0 To NUM_BUFFERS - 1
    hmem(i) = GlobalAlloc(&amp;H40, BUFFER_SIZE)
    inHdr(i).lpData = GlobalLock(hmem(i))
    inHdr(i).dwBufferLength = BUFFER_SIZE
    inHdr(i).dwFlags = 0
    inHdr(i).dwLoops = 0
    Next
    rc = waveInOpen(hWaveIn, DEVICEID, format, 0, 0, 0)
    If rc &lt;&gt; 0 Then
    waveInGetErrorText rc, msg, Len(msg)
    MsgBox msg
    StartInput = False
    Exit Function
    End If
    For i = 0 To NUM_BUFFERS - 1
    rc = waveInPrepareHeader(hWaveIn, inHdr(i), Len(inHdr(i)))
    If (rc &lt;&gt; 0) Then
    waveInGetErrorText rc, msg, Len(msg)
    MsgBox msg
    End If
    Next
    For i = 0 To NUM_BUFFERS - 1
    rc = waveInAddBuffer(hWaveIn, inHdr(i), Len(inHdr(i)))
    If (rc &lt;&gt; 0) Then
    waveInGetErrorText rc, msg, Len(msg)
    MsgBox msg
    End If
    Next
    fRecording = True
    rc = waveInStart(hWaveIn)
    StartInput = True
    End Function
    ' Stop receiving audio input on the soundcard
    Sub StopInput()
    fRecording = False
    waveInReset hWaveIn
    waveInStop hWaveIn
    For i = 0 To NUM_BUFFERS - 1
    waveInUnprepareHeader hWaveIn, inHdr(i), Len(inHdr(i))
    GlobalFree hmem(i)
    Next
    waveInClose hWaveIn
    End Sub
    Error if using winmm.dll, kernel32  in x64 mode 

  • Sequence of Installs of RTA and SCA files for GRC AC 5.3

    Hello,
    I would like to confirm the correct sequence of applying RTA and SCA files for GRC AC 5.3.
    On ABAP Stack
    1- Install VirsaNH RTA on ECC 6.0 System with SAINT
    2- Install VirsaHR RTA on ECC 6.0 system which has SAP_HR
    3- Install both VirsaNH RTA and VIRSAHR RTA on a system which is SAP HR
    4- Install VIRSANH RTA on BI System. (There is no need of VirsaHR on BI system)
    5- Install all Support Packages up to 10 or 11 for VIRSANH & VIRSAHR with SPAM
    Next
    On JAVA Stack
    6- Install
    VIRCC00_0.sca
    VIRAE00_0.sca
    VIRRE00_0.sca
    VIRFF00_0.sca
    7- Install VIRACLP00_0.sca
    8- Then install VIRACCNTNT.SAR
    9- Next install EP RTA VIREPRTA00_0.sca
    10- Install all Java patches for the above components
    Based on the above,
    a- Plz confirm if the above sequence is right.
    b- My question is can I install 6, 7,8, 9 with JSPM at once as one step?
    c- Also can I install SCA files with JSPM first and then install RTA files on ABAP stack later?
    d- Also we have BI system with ABAP & JAVA Stacks. Is VIRSANH sufficient for both ABAP & JAVA, or do we need an additonal RTA for BI JAVA ?
    Thanks for your valuable inputs in advance.
    Regards,
    Haleem

    Hi,
    > 1- What is the UME of your BI Java stack ?
    >
    > Answer: We have installed BI JAVA, EP, EP Core, so we use SSO with EP and BI ABAP. So the portal is UME for BI Java stack.
    >
    Check below link which will answer your queries:
    Java RTA for GRC 5.3
    > 2- Check SAP Note 1174625 - Access Control 5.3 Java Support Pack Installation
    >
    > I checked the note 1174625, which says the following
    >
    > All of the sap.com/grc files have to be undeployed except the db and dictionary files for each component. The files that are NOT to be undeployed are:
    >
    > - sap.com/grc/ccxsysdb
    > - sap.com/grc/aedict
    > - sap.com/grc/redictionary
    > - sap.com/grc/ffdb
    >
    > Since this is a GRC AC 5.3 install on a fresh Netweaver 7.0 EHP1 Java stack install, do I need to undeploy all the above components, before doing AC 5.3 install, as mentioned in the note.
    >
    This is used when you do upgrade your old GRC release to latest one. So if you are doing fresh install then you need not to do these steps.
    > 3- Also this note 1174625 answers to most of my questions, but does not mention anything about VIRACCNTNT.SAR.  Is >this SAR file installed on JAVA Stack or ABAP stack? Is there a OSS note on VIRACCNTNT.SAR?
    >
    This file contains Roles, Rules, functions for RAR, CUP, ERM etc. in txt files which you need to upload when you will do the configuration of GRC.
    Thanks
    Sunny

  • UCM API Methods for PDF Water Marking and Time stamping ???

    hi,
    i am working on project, the requirment is we need to migrate from DMS (DIGI SAFE) To UCM.
    here we need to approch through API, it should not through tool based functionality. document should be water marked and time stamped when we retrived the document through CIS.
    is there ant UCM API's for water mark and time stamp ??? please provide the methods for it. is there any API mehtods for Document versioing ??
    i am presently working windows 7 OS ? i am trying to install UCM 10gR3 in Windows 7 OS, will it support for UCM ??
    any help would be apprciated.
    Regards,
    YT

    Hi,
    There are services in Content Server that will allow you to create revisions of existing items. For example, CHECKIN_UNIVERSAL service will check in a new revision of an item if that Content ID already exists. You can also checkout a document if needed using the CHECKOUT service. Please refer to the services reference guide for more details (http://download.oracle.com/docs/cd/E14571_01/doc.1111/e11011/toc.htm).
    Regarding conversion and watermarking...
    You don't have to call a service to convert or watermark a document. These features have to be configured on the server. If you configure the content server to convert Word documents to PDF, then whenever a Word document is checked in, the content server will automatically convert it to PDF. In addition, if you have PDFWatermarking enabled and configured, watermarks will be applied automatically as well. All you have to do is ensure the product is configured correctly for the formats you want, and then check in the document. When you retrieve a document (using the GET_FILE service for example), you can ask for the PDF version by passing additional parameters.
    Please review the Application Administrators Guide (http://download.oracle.com/docs/cd/E14571_01/doc.1111/e10978/toc.htm) for info on enabling and configuring PDF Watermarking.
    The doc links referenced above are for UCM 11g. The same docs are available for 10gR3 at http://download.oracle.com/docs/cd/E10316_01/ouc.htm.
    --Vijay                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • [svn:bz-trunk] 19459: Security API change for auth sync sample/ concept to work in WebLogic, WebSphere.

    Revision: 19459
    Revision: 19459
    Author:   [email protected]
    Date:     2010-12-17 10:15:23 -0800 (Fri, 17 Dec 2010)
    Log Message:
    Security API change for auth sync sample/concept to work in WebLogic, WebSphere.
    Adding the PrincipalConverter interface
    Implement the converting principal in WebLogic and WebSphere login command
    Modified Paths:
        blazeds/trunk/modules/opt/src/weblogic/flex/messaging/security/WeblogicLoginCommand.java
        blazeds/trunk/modules/opt/src/websphere/flex/messaging/security/WebSphereLoginCommand.jav a
    Added Paths:
        blazeds/trunk/modules/core/src/flex/messaging/security/PrincipalConverter.java

    Thanks for the reply dood... i've found the solution after several tries... i had to set the channel from the actionscript instead of depending on the Service-config.xml file like the following.. then it worked..
    var cs:ChannelSet = new ChannelSet();
    var chnl:Channel = new Channel();
    var customChannel:Channel = new AMFChannel("my-amf", "http://localhost:8080/somehting/messagebroker/amf");
                    cs.addChannel(customChannel);
    consumer = new Consumer();
    consumer.channelSet = cs;

  • I don't use Photoshop - looking for software with similar functionality to Photoshop's Pixelbender / Oil Painting.  Any suggestions?

    I don't use Photoshop, I'm an Aperture guy.
    I'm looking for software with similar functionality to Photoshop's Pixelbender / Oil Painting. 
    I'm especially interested in the bending of the pixels, along the lines of impressionist paintings - think van Gogh.
    Any suggestions?

    If you are interested in computer simulated drawing and painting effects, have a look at the "ToonIt!" plug-in for Aperture. This will do some of the basic work for you, but you will have to do quite a lot of editing afterwards, to turn the image into a piece of art.
    It might be easier, to do most of the drwing and painting yourself in the first place - ArtRage Deluxe is very versatile, if you have a large trackpad and pen.
    For example: Applying a light ToonIt! effect "Impressionist2": The diagonal
    cross-pattern is due to "Demo" mode - I have not yet bought the plug-in - it is rather expensive:
    The original:

  • You do not have permissions to access a database that contains data required for this form to function correctly.

    I have dropdown on infopath form , and it receives data from sql server table ,  it works fine when i am running in preview mode , but when i am publishing form to sharepoint server and loading that form
    i am getting this
    You do not have permissions to access a database that contains data required for this form to function correctly.
    Can you please help?
    Thanks,

    try this one, if not yet
    Convert the data connection to UDC (store it in a Data Connection Library within the same site collection as the form library).  See if this works without any other changes, but if not, then...
    Manually edit your UDC file in Notepad (or your preferred editor) so that the authentication line is not commented out and so that it references the name of the SSO target app you created. 
    For Type, use NTLM.
    Ensure the user has rights to access the database
    Also ensure the connection file has been approved - A sharepoint admin can access a non approved Ucdx file. Go to the connection library and approve the file
    Also check this post having the similar issue:
    http://social.technet.microsoft.com/Forums/en-US/3196bafd-4bc3-40ab-ac2b-d149d1c3e0fa/sharepoint-2010-error-you-do-not-have-permissions-to-access-a-database?forum=sharepointdevelopmentprevious
    Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog

  • Transport Rule MessageSizeOver for exchange 2010

    Hi 
    I have an exchange 2010 SP3 RU 3 environment with edge transport server implemented. I want to Have Transport rules to limit message size going outside/coming inside on edge transport.
    I recently found a solution with -messagesizeover switch for new-trasportrule command in exchange 2013. Unfortunately its unavailable in exchange 2010. 
    I am wondering if there is a workaround or update for exchange 2010 to add this functionality.
    Thanks in advance
    Farhad

    Hi,
    On Exchange 2010, there is no MessageSizeOver parameter when you create a transport rule. But you can limit the sending and receiving message size of the whole Exchange organization using the following cmdlet.
    Set-TransportConfig -MaxReceiveSize xxx -MaxSendSize xxx
    If you want to limit the sending and receiving messages size for a specific mailbox, you can use the cmdlet below.
    Set-Mailbox xxx –MaxSendSize xxx –MaxReceiveSize xxx
    Hope it helps.
    Best regards,
    Amy Wang
    TechNet Community Support

  • Google API Keys for GCM in Chromium looks like dont work

    I am trying to use the service of Push Messaging function of Chrome(Chromium), theoretically I have to get a ChannelId where the communication would be established between the browser and Google Cloud Messaging(GCM), in Chrome I can get that Channel without problems, but in Chromium I don't get Channel, I don't get error, only I don't have anything, I contacted some people in the forums for Chromium and they suggest that the API keys for this funcionality(Google CLoud Messaging) maybe are not correct or there is a problem with the API  keys embedded in the build of Chromium for Arch.
    I don't know if this is the correct place to post this question, the people of Chromium suggested me that I contact to the package mantainer to reviwe if there is a problem with these API keys.
    I am using Arch 3.9.4-1, Chromium 27.0.1453.93 (Build para desarrolladores 200836).
    If this is not the correct place to post this kind of question and somebody knows where can I post it please tell me, and if somedoby can help me with my question I would be thankful.
    Thanks in advance.

    Hi Gsaison,
    Do you have any progress on these issues? Im working on the same solution right now (SWV + GoogleMaps JS v3 ) I've got some weird issue when i try to spawn a StageWebView inside a View on IOS, it appears inside a scroller and is not open for finger interaction anymore. I use the eskimo framework, but then again, nothing fancy going on there for the rest. I've tried all of the the stage.stageScaleMode options but non of them work. Got any help?
    Kind regards,
    Roy

  • API support for color extraction feature

    Is there API support for color extraction feature? if not, is
    it scheduled?

    Hello, thanks for the post.
    In order to provide the best user experience for color
    extraction, we had to split the functionality between client-side
    and server-side, so we are not able to offer an API for this
    functionality at this time. We are, however, very interested in
    feedback on what kinds of APIs are interesting to you and how you
    are interested in using them, so folks, please let us know.
    Current APIs, including the new Random theme browsing view
    and to view comments to your themes, are available on the
    kuler API
    wiki. We've seen some really fabulous and creative use of the
    kuler APIs, and we look forward to more.
    Sami

  • Unable to install rollup4 for Exchange 2010 SP3

    Hi,
    I'm unable to install KB2905616 on my multi-role Exchange 2010 SP3 server. The setup wizard gets stuck at "the setup wizard is generating native images for .NET assemblies........"
    I know that this process will take some time to complete but I have waited 10 hours.
    I've tried to reboot the server and restart the setup.
    Exchange is functioning perfectly otherwise.
    Any help would be greatly appreciated :)
    /Søren Emig

    Hi,
    I recommend you check if the anti-virus has been disabled before you start the upgrade process.
    If you didn't ,the update could fail or take an extended amount of time. 
    Also, disable all other third-party apps/plugins that might be installed (like backup agents).
    In addition,the following articles for your reference:
    Install the Latest Update Rollup for Exchange 2010
    When you install an update rollup package, Exchange tries to connect to the certificate revocation list (CRL) Web site. Exchange examines the CRL list to verify the code signing certificate. (To download and view the CRL list, see
    CodeSignPCA.crl.) If Exchange can't connect to the CRL Web site, the following symptoms may occur:
    The installation takes a long time to complete.
    You receive the following message during the installation: Creating native images for .Net assemblies
    When Exchange isn't connected to the Internet, each CRL request must complete before the installation can continue.
    To work around this issue and to reduce installation times, turn off the
    Check for publisher’s certificate revocation option on the server that is being upgraded. Use the following steps:
    Start Internet Explorer.
    On the Tools menu, click Internet Options.
    Click the Advanced tab, and then locate the Security section.
    Clear the Check for publisher’s certificate revocation check box, and then click
    OK.
    After the update rollup installation is complete, select the Check for publisher’s certificate revocation option.
    Generating NGEN images takes longer than expected
    Hope this helps!
    Thanks.
    Niko Cheng
    TechNet Community Support

Maybe you are looking for

  • FIM EVENT ID 3 when starting User Profile Synchronization service

    I am having issues getting the USP Sync Service to start correctly in our 2013 Farm.   We are using a named instance for this install and from what I have read, it looks like that is the issue. In the ULS I find this error "ERROR  ILMPostSetupConfigu

  • Dynamic EJB Client

    Hi there, I've a runtime problem. I don't know until runtime which ejb my client program wishes to lookup. Is there anyway of creating/retrieving the instance of a bean at runtime and ivoking business methods on the remote interface dynamically. All

  • Ios 8 Video Scrubbing

    Running IOS 8.1. I have an issue when using safari. When a video plays, you cant see how much of the video has loaded. There no longer is a scrubbing bar. Once the video has reached the point of where it hasn't loaded to, the video is set into a loop

  • Client version after update to R2 CU1

    Hi guys, I just updated SCCM from R2 to R2 CU1. I have distributed the four packets of CU1 to the distribution point and I checked with regedit and the console that the version is CU1 and .1203. But when I see properties for automatic upgrade of clie

  • HT1386 Can I sync video rentals on my ipad with my laptop?

    Can I sync video rentals on my ipad with my laptop?