How can I retrieve the "CLSID_SeparateMultipleProcessExplorerHost", without querying the Registry?
Is there any Win32 API to take the "CLSID_SeparateMultipleProcessExplorerHost" as parameter and give me the GUID of it.
The string "CLSID_SeparateMultipleProcessExplorerHost" does not exist in the Registry, or anywhere else. It is strictly the name of a compile-time constant value of {75DFF2B7-6936-4C06-A8BB-676A7B00B24B} that is defined in the Win32 SDK for use in source code only. The name is stripped out during compiling.
Typically, if you pass a CLSID value to ProgIDFromCLSID() at runtime, you will get the CLSID's associated ProgID name, which can be passed to CLSIDFromProgID() at runtime to retrieve the CLSID. However, this particular CLSID does not have an associated ProgID, so that is not an option.
Related
Outlook COM has a method under Application.Session.GetAddressEntryFromID method to grab an address entry without having to iterate through the entire Global or All Users address book.
The issue is it is expecting the ID that an entry has under the AddressLists object.
In Active Directory, there is no equivalent that gives me the same GetAddressEntryFromId string.
I was previously making a list of all users, minus rooms and resources, by going through the entire COM object, but that takes too long; 20mins.
I figured if I use AD, which is faster, with filters to find the users, then I can grab the GUID and when looking for info on the user, not have to go through the entire COM object to grab it, but it will happen locally to the executable being run.
The issue I am having, as an example, is that I have a user with the following ID;
00000000DCA740C8C042101AB4B908002B2FE18201000000000000002F6F3D45766572657374205265696E737572616E63652F6F753D436F72702D48512F636E3D526563697069656E74732F636E3D6A6E6700
In AD the msExchMailboxGuid has a value of
{4A49BD1C-62AE-4674-B097-C06528BDBEAE}
Not sure if these are the same, but I need to learn to better save it.
What else can I use, what can I do with the current time?
GAL entry id is constructed from the EX address (which is stored in the legacyDN attribute).
The entry id you have above contains the following:
For every device in the device manager, there are scores of properties listed (see the following image, some of the properties are also highlighted in green). I am unable to find any source which details the meaning of each property. In absence of such a resource one could only guess the meaning from the names.
I am trying to get status of each device programatically to get a list of devices which have been explicitly disabled (from device manages, or otherwise), and some details about them. This lead me to exploring the details page of device manager.
To answer the question you could do either of the following.
Refer a link, which explains the meaning of some of the properties.
Describe some of the properties which you yourself know.
In either case, I will be creating a list compiled from all answers here, which would have property name, along with its description.
(partial) documentation for Windows 2000 and later:
SetupDiGetDeviceRegistryProperty function
newer documentation
Device Property Reference > System-Defined Device Properties > Device Instance Properties
For example, you circled the "Status" property, which is defined as follows:
The DEVPKEY_Device_DevNodeStatus device property represents the status of a device node (devnode).
Property key DEVPKEY_Device_DevNodeStatus
Property-data-type identifier DEVPROP_TYPE_INT32
Property access Read-only access by installation applications and installers
Localized? No
Remarks
The value of DEVPKEY_Device_DevNodeStatus is a bitwise OR of the DN_ Xxx bit flags that are defined in Cfg.h
source: https://msdn.microsoft.com/en-us/library/windows/hardware/ff542414(v=vs.85).aspx
The header file CoreAudio/AudioHardware.h refers to a class "AudioBox" and indicates that it is distinct from but related to the class "AudioDevice". Searching developer.apple.com yields no hits for AudioBox. There is, unfortunately, a commercial product called AudioBox™, which makes googling for the term painfully low-yield.
Here are the comments containing the references:
kAudioHardwarePropertyBoxList
An array of AudioObjectIDs that represent all the AudioBox
objects currently provided by the system.
kAudioHardwarePropertyTranslateUIDToBox
This property fetches the AudioObjectID that corresponds to the
AudioBox that has the given UID. The UID is passed in via the qualifier as a CFString while the AudioObjectID for the AudioBox is
returned to the caller as the property's data. Note that an error
is not returned if the UID doesn't refer to any AudioBoxes.
Rather, this property will return kAudioObjectUnknown as the value of the property.
The header file: AudioHardwareBase.h contains numerous references to AudioBox, but does not define or explain it, although it associates it with AudioDevice.
Searching the docs via XCode just takes me back to AudioHardwareBase.h.
I can infer that perhaps an "AudioBox" is an audio device that is accessed via a plugin. But this does not appear to be stated anywhere.
So What Is An AudioBox?
An AudioBox is a container of (usually) AudioDevices
I have an external list in SharePoint that references a BCDM I created inside visual studio. The entity as an ID that is auto generated in the database, which means it's read-only.
Create and read method works fine, I'm trying to implement the update method. I have set an input parameter that match my entity and I'm getting this error.
Failed to update a list item for this external list based on the Entity(External Content Type) ‘Notification’ in EntityNamespace ‘Namespace’. Details: The TypeDescriptor with name ‘Id’ in the Method ‘Microsoft.SharePoint.BusinessData.MetadataModel.Static.Method’ on Entity (External Content Type) with Name ‘Namespace’ in Namespace ‘Notification’ is marked ‘PreUpdaterField’, but is contained by another TypeDescriptor marked ‘PreUpdaterField’.
I tried every possible combinaison to make this work, make the id type descriptor read only, pre-updater field = true/ false/, updater field = true/false, removing it, adding another parameter outside the entity. NOTHING WORKS !!! Obviously, I'm about to commit a murder as something so simple just turned out to be the biggest waste of time in my programmation history. What can I do to make this works??
This has been resolved and is explained here:
http://www.dotnetmikael.com/2014/02/sharepoint-2013-bcdm-with-visual-studio.html
I want to modify some string in my exe resource. That resource type is a string table,
but when i use UpdateResource function i don't know what parameter must be pass to it so it's pointing to the exact raw in the string table.
The type parameter is RT_STRING, but what should I send to MAKEINTRESOURCEW()?
HANDLE hExeFile = BeginUpdateResource(L"d:\\m.exe", FALSE);
WCHAR mail[]={L"ddddddd#gmail.com"};
UpdateResource(hExeFile,RT_STRING,MAKEINTRESOURCEW(?????), MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (LPVOID)mail, wcslen(mail)*2);
EndUpdateResource(hExeFile, FALSE);
An exe file cannot update its own resources while it is running. The resources are locked by the OS and are read-only. But if you could update the resources, then obviously you have to know the ID of your resource in order to update it. If it is a compiler-generated resource, then you are probably out of luck unless your compiler uses a predictable ID number, like 1. Otherwise, use an .rc file to define your own resource data, then you can use whatever ID you want.