APIs hinter Registrierung


Kennen Sie die Apis verantwortlich o Windows-Registrierung zu behandeln.

|| Registrierungs-APIs Behind ||

Von Nilesh Gore:[email protected]

Ich beschreibe hier die Art der Bearbeitung der Windows-Registrierung mithilfe von APIs, dies wird durch den gesamten Prozess der Behandlung also , Sie kann erstellen eigene Bibliotheken oder ActiveX-Komponenten zur Windows-Registrierung problemlos verarbeiten.

Die APIs die wird werden erklärt sind nur ausgewählten APIs , die Registrierung bearbeiten können So können beginnen zu verstehen die APIs, die verantwortlich für die Behandlung der Windows-Registrierung


1] Registrierungsschlüssel öffnen

R

Dies API Funktion ist benutzt um öffnen die Schlüssel und Funktion ist wie folgt

Declare Function RegOpenKeyEx Lib 'advapi32.dll' Alias 'RegOpenKeyExA' (ByVal hKey As Long, ByVal LpSubKey As String, ByVal UlOptions As Long, ByVal SamDesired As Long, PhkResult As Long) As Long

Jetzt können die Parameter in der Funktion zu verstehen


Hkey:- Griff ist zu öffnen, einen Schlüssel oder derzeit Öffnung Schlüssel kann

jeder auf der folgenden sein.

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

HKEY_CURRENT_CONFIG

HKEY_DYN_DATA

HKEY_PERFORMANCE_DATA

LpSubKey:- Dies ist Zeiger auf eine Null-terminierte Zeichenfolge, die den Namen der Sub-Schlüssel zu öffnen. Wenn dieser Parameter NULL ist, oder ein Zeiger auf eine leere Zeichenfolge ist, wird die Funktion einen Handle auf den Schlüssel, der durch den Parameter hKey identifizierten geöffnet. In diesem Fall wird die Funktion nicht zuvor geöffneten Handles geschlossen.

Uloption:- Ist immer reserviert und muss NULL sein.

SamDesired:- Dies ist verwendet für Sicherheit Zugriff, gibt ein Zugriffsmaske , beschreibt die gewünschte Sicherheit Zugriff für die neue Schlüssel. Dieser Parameter kann eine Kombination der folgenden Werte sein:

KEY_ALL_ACCESS:- Enthält die Kombination von folgende Tasten KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS nicht

KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK

KEY_SET_VALUE Zugriff.

KEY_CREATE_LINK:- sie dient für die Berechtigung zur Verknüpfung erstellen.

KEY_CREATE_SUBKEY:- Name schon sagt, seine Berechtigung zum Unterschlüssel erstellen.

KEY_ENUMERATE_SUB_KEYS nicht:- Berechtigung auflisten Sub-Schlüssel.

KEY_EXECUTE:- Die Berechtigung zum Zugang zu lesen.

KEY_NOTIFY:- Berechtigung, Benachrichtigung zu ändern.

KEY_QUERY_VALUE:- Berechtigung zur Abfrage Sub Schlüsseldaten.

KEY_READ:- Es verwendet eine Kombination von KEY_QUERY_VALUE

KEY_ENUMERATE_SUB_KEYS nicht, KEY_NOTIFY zugreifen.


KEY_SET_VALUE :- Es wird verwendet, um die Sub-Eckdaten festgelegt .

KEY_WRITE:- Wie der Name schon vermuten lässt, verwenden Sie die Kombination von KEY_CREATE_SUB_KEY, KEY_SET_VALUE Zugang. Dies sind die Werte der SamDesired.

PhkResult:- Wirklich PHKEY ist Zeiger zu HKEY und PhkResult Zeiger auf eine Variable, die einen Handle auf den geöffneten Schlüssel erhält. Wenn Sie das zurückgegebene Handle nicht mehr benötigen, rufen Sie die RegCloseKey ( dieser Schlüssel wird im nächsten Thema erklärt.) -Funktion zu schließen. Hinweis: - dieser Funktion kann nicht erstellen die angegebenen Schlüssel, wenn der Schlüssel in der Registrierung nicht vorhanden ist.

2 - zum Schließen Taste

R

Diese Funktion wird verwendet, um den Schlüssel zu schließen, die Funktion ist wie folgt.


Erklären Sie Funktion RegCloseKey Lib 'advapi32.dll' (ByVal hKey As Long) so lange


Es gibt nur einen Parameter verwendet, die in dieser Funktion, die ist


HKEY:- ist das Handle zu der geöffneten Schlüssel zu schließen. Hinweis:- die Griff für eine angegebenen Schlüssel dürfen nicht verwendet werden, nachdem es geschlossen wurde, weil es nicht mehr gültig ist. Schlüsselkennungen können nicht werden offen gelassen mehr als notwendig. Die RegCloseKey Funktion tut nicht unbedingt schreiben Informationen , die Registrierung vor zurückgeben; es dauert mehr als einige Sekunden für den Cache auf die Festplatte geschrieben werden.


3] um den Schlüssel zu erstellen

R

Diese Funktion dient zum Erstellen von Schlüsseln. Die Funktion ist wie folgt.

Declare Function RegCreateKey-Lib 'advapi32.dll' Alias 'RegCreateKeyA' (ByVal hKey As Long, ByVal LpSubKey As String, PhkResult As Long) As Long

Jetzt erlaubt gehen für Parameter, dies sind ganz ähnlich wie die RegOpenKey

Aber ich werde es wie folgt erklären.

Hkey:- Dieses ist Griff, einen Schlüssel oder derzeit Öffnung Schlüssel, der möglicherweise zu öffnen

jeder auf der folgenden sein.

HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA

HKEY_PERFORMANCE_DATA

Der Schlüssel geöffnet oder erstellt durch diese Funktion ist ein Unterschlüssel des Schlüssels durch hKey identifiziert.

LpSubKey:- Es ist eine Zeiger zu ein Null-terminierte Zeichenfolge Angabe des einen Schlüssel, der diese Funktion öffnet oder erstellt. Dieser Schlüssel muss ein Unterschlüssel, der sein die Schlüssel HKEY-Parameter identifiziert. Angenommen HKEY ist eines der vordefinierten Tasten, LpSubKey können NULL sein. In diesem Fall das Handle zurückgegeben, von mit PHkResult (siehe unten) ist das gleiche HKEY -Handle an die Funktion übergeben.


PhkResult:- Es ist ein Zeiger zu ein Variable , der erhält eines Handles für den Schlüssel geöffnet oder erstellt.

Hinweis: - bei der LpSubKey-Parameter die Adresse einer leeren Zeichenfolge ist, die Funktion öffnet und dann übergibt zurück den Schlüssel mithilfe des Parameters hKey identifiziert.


4], der Schlüssel zu löschen

R

Dies Funktion wird verwendet, um die Sub-Schlüssel und seine abhängigen oder andere Sub-Schlüssel zu löschen. In Fall von Windows NT dies Funktion Unterschlüssel nicht gelöscht, wenn es hat andere Sub-Schlüssel in dieser Situation Sie Z in eine Ordnung zu entfernen müssen bedeutet niedrigere Unterschlüssel Form an die Spitze. Die Funktion ist wie folgt.

Declare Function RegDeleteKey Lib 'advapi32.dll' Alias 'RegDeleteKeyA' (ByVal hKey As Long, ByVal LpSubKey As String) As Long

So dass die Parameter sind

Hkey :- Dieses ist Griff, einen Schlüssel oder derzeit Öffnung Schlüssel, der möglicherweise zu öffnen

jeder auf der folgenden sein.

HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA

HKEY_PERFORMANCE_DATA

LpSubKey:- Es ist Zeiger zu ein Null-terminierte Zeichenfolge Angabe den Namen der Schlüssel löschen. Dies Parameter darf nicht NULL sein und bei Windows NT es darf keinen Unterschlüssel.


5] Wert abrufen

R

Dies Funktion ruft die Typ und Daten der spezifische Wert. Die Funktion ist

Declare Function RegQueryValueEx Lib 'advapi32.dll' Alias 'RegQueryValueExA' (ByVal hKey As Long, ByVal LpValueName As String, ByVal LpReserved As Long, LpType As Long, ByVal LpData As String, LpcbData As Long) As Long

Also hier die Parameter geändert bekommen, können schauen sie


Hkey:- Ist dasselbe wie oben Funktion, sie finden.

LpValueName:- Es ist ein Zeiger auf eine Null-terminierte Zeichenkette, den Namen der die Wert zu Abfrage. In Fall dieser Parameter ist NULL oder eine leere Zeichenfolge, '', die Funktion ruft die Typ und Daten für der Schlüssel der unbenannten oder default-Wert.

LpReserved:- Als Name andeutet, es ist reservierten ist immer Null.

LpType:- Es ist ein Zeiger , die Variable erhält, die den Typ der Daten, die mit dem angegebenen Wert. Die Beschreibung der mit diesem Parameter zurückgegebenen Werte sind wie folgt.

1] RegBinary:- , es ist eine Binärdaten

2] Reg_Dword:- Doword-Datentyp mit 32-Bit-Zahl.

3] Reg_Dowrd_Little_Endian:- es ist eine Zahl im Little-Endian format, das ist 32-Bit Anzahl Equvalent zu Reg_Doword.In dieses Format ist ein Multi - Byte Wert ist gespeichert in Speicher aus das niedrigste Byte ('wenig Ende') zu die höchste Byte. Für Beispiel, die Wert 0x123456 wird als gespeichert (0x56 0 x 34 0 x 12) in little-Endian-Format.

Weitere Einzelheiten finden Sie in der Registry-Datentyp.

4] Reg_Dowrd_Big_Endian:- die Zahl ist in Big_Endian formatieren die ist ein 32-Bit Zahl. In dies Format eine Multi-Byte-Wert wird im Arbeitsspeicher gespeichert von die höchste Byte (die 'Big Ende') auf das niedrigste Byte. Z. B. die Wert 0x123456 wird als gespeichert (0 x 12 0 x 34 0x56) im big-Endian-Format.

5] Reg_Expand_Sz:- es ist null beendete Zeichenfolge, die unerwartete Verweis auf die Umgebungen-Variablen (Verordnung Eg enthält 'System %'). Dies kann Unicode oder ANSI-Zeichenfolge basierend auf, ob Sie wir verwenden Unicode oder ANSI-Funktion.

6] Reg_Link:- , es ist ein symbolischer Link von Unicode.

7] Reg_Multi_Sz:- ein Array mit null beendete Zeichenfolge, die von zwei Null-Zeichen beendet.

8] Reg_None:- definierte Werttyp ist nichts.

9] Reg_resource_List:- Liste der Gerätetreiber-Ressourcen.

10] Reg_Sz:- es ist ein null-terminierter Zeichenfolge. Es werden ANSI oder Unicode-Zeichenfolge je auf ob Sie verwenden die Unicode oder ANSI Funktionen. Also mal sehen, den nächsten Parameter d.h. LpData.

LpData:- It is a Pointer to a buffer which have the data of value. Dieser Parameter kann NULL sein, wenn die Daten nicht erforderlich ist. Lässt nun auch den letzten Parameter d.h. LpcbData bewegen.

LpcbData:- Es ist ein Zeiger , eine Variable, die die Größe des Puffers angibt wies zu von der LpData-Parameter. Wenn die Funktion zurückgibt, diese Variable enthält die Größe der der Daten kopiert , LpData. Die Größe der es wird in Bytes angegeben.

Angenommen die Puffer angegebenen von LpData Parameter ist nicht groß genug, um die Daten enthalten, die Funktion gibt den Wert ERROR_MORE_DATA zurück und speichert die erforderlich Puffer Größe in die Variable, auf die LpcbData.

Und in Fall LpData NULL ist und LpcbData nicht NULL ist, gibt die Funktion ERROR_SUCCESS, und speichert die Datenmenge in Bytes in der Variablen mit LpcbData verwiesen.

Erinnern , angenommen Wertdaten hat REG_SZ, REG_MULTI_SZ oder Typ REG_EXPAND_SZ, und die ANSI Version der dies Funktion ist entweder verwendet von explizit aufrufen RegQueryValueExA oder von nicht definieren UNICODE, dies Funktion konvertiert die Unicode-Zeichenfolge in eine ANSI-Zeichenfolge gespeichert, bevor in den Puffer kopieren von LpData verwies.

Jetzt erlaubt nehmen einen Blick auf Windows NT, bei NT (oder NT-basierten System)

Wenn hKey gibt HKEY _ PERFORMANCE_DATA und den Puffer LpData ist klein, RegQueryValueEx gibt ERROR_MORE_DATA aber LpcbData nicht wieder die Erforderliche Puffergröße. Deshalb, weil die Größe der Leistung Daten kann ändern aus einen Aufruf zum nächsten. In einem solchen Fall Sie die Puffergröße zu erhöhen und rufen Sie RegQueryValueEx wieder übergeben muss die aktualisiert Puffer Größe in die LpcbData Parameter. Wiederholen dies bis die Funktion erfolgreich ist. Sie müssen eine separate Variable zu verfolgen pflegen die Puffergröße, da die Wert zurückgegeben von LpcbData ist unberechenbar.

Es ist erstaunlich, aber völlig normal, dass wenn wir die Funktion RegQueryValueEx mit hKey aufgerufen die HKEY_PERFORMANCE_DATA festgelegt behandeln und ein Wert Zeichenfolge eines angegebenen Objekts die zurückgegebenen Daten Struktur manchmal hat unaufgefordert Objekte.

Hinweis:- die LpType Parameter kann sein NULL, wenn der Typ nicht erforderlich ist.

Die LpcbData Parameter kann NULL sein, nur wenn LpData NULL ist.



6] Wert festgelegt

R

Es ist verwendet zu set Daten und Typ der eine angegebenen Wert in einem Registrierungsschlüssel.

Die Funktion ist wie folgt.

Declare Function RegSetValueEx Lib 'advapi32.dll' Alias 'RegSetValueExA' (ByVal hKey As Long, ByVal LpValueName As String, ByVal reserviert als








APIs hinter Registrierung


APIs hinter Registrierung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Kennen Sie die Apis verantwortlich o Windows-Registrierung zu behandeln.

|| Registrierungs-APIs Behind ||

Von Nilesh Gore:[email protected]

Ich beschreibe hier die Art der Bearbeitung der Windows-Registrierung mithilfe von APIs, dies wird durch den gesamten Prozess der Behandlung also , Sie kann erstellen eigene Bibliotheken oder ActiveX-Komponenten zur Windows-Registrierung problemlos verarbeiten.

Die APIs die wird werden erklärt sind nur ausgewählten APIs , die Registrierung bearbeiten können So können beginnen zu verstehen die APIs, die verantwortlich für die Behandlung der Windows-Registrierung


1] Registrierungsschlüssel öffnen

R

Dies API Funktion ist benutzt um öffnen die Schlüssel und Funktion ist wie folgt

Declare Function RegOpenKeyEx Lib 'advapi32.dll' Alias 'RegOpenKeyExA' (ByVal hKey As Long, ByVal LpSubKey As String, ByVal UlOptions As Long, ByVal SamDesired As Long, PhkResult As Long) As Long

Jetzt können die Parameter in der Funktion zu verstehen


Hkey:- Griff ist zu öffnen, einen Schlüssel oder derzeit Öffnung Schlüssel kann

jeder auf der folgenden sein.

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

HKEY_CURRENT_CONFIG

HKEY_DYN_DATA

HKEY_PERFORMANCE_DATA

LpSubKey:- Dies ist Zeiger auf eine Null-terminierte Zeichenfolge, die den Namen der Sub-Schlüssel zu öffnen. Wenn dieser Parameter NULL ist, oder ein Zeiger auf eine leere Zeichenfolge ist, wird die Funktion einen Handle auf den Schlüssel, der durch den Parameter hKey identifizierten geöffnet. In diesem Fall wird die Funktion nicht zuvor geöffneten Handles geschlossen.

Uloption:- Ist immer reserviert und muss NULL sein.

SamDesired:- Dies ist verwendet für Sicherheit Zugriff, gibt ein Zugriffsmaske , beschreibt die gewünschte Sicherheit Zugriff für die neue Schlüssel. Dieser Parameter kann eine Kombination der folgenden Werte sein:

KEY_ALL_ACCESS:- Enthält die Kombination von folgende Tasten KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS nicht

KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK

KEY_SET_VALUE Zugriff.

KEY_CREATE_LINK:- sie dient für die Berechtigung zur Verknüpfung erstellen.

KEY_CREATE_SUBKEY:- Name schon sagt, seine Berechtigung zum Unterschlüssel erstellen.

KEY_ENUMERATE_SUB_KEYS nicht:- Berechtigung auflisten Sub-Schlüssel.

KEY_EXECUTE:- Die Berechtigung zum Zugang zu lesen.

KEY_NOTIFY:- Berechtigung, Benachrichtigung zu ändern.

KEY_QUERY_VALUE:- Berechtigung zur Abfrage Sub Schlüsseldaten.

KEY_READ:- Es verwendet eine Kombination von KEY_QUERY_VALUE

KEY_ENUMERATE_SUB_KEYS nicht, KEY_NOTIFY zugreifen.


KEY_SET_VALUE :- Es wird verwendet, um die Sub-Eckdaten festgelegt .

KEY_WRITE:- Wie der Name schon vermuten lässt, verwenden Sie die Kombination von KEY_CREATE_SUB_KEY, KEY_SET_VALUE Zugang. Dies sind die Werte der SamDesired.

PhkResult:- Wirklich PHKEY ist Zeiger zu HKEY und PhkResult Zeiger auf eine Variable, die einen Handle auf den geöffneten Schlüssel erhält. Wenn Sie das zurückgegebene Handle nicht mehr benötigen, rufen Sie die RegCloseKey ( dieser Schlüssel wird im nächsten Thema erklärt.) -Funktion zu schließen. Hinweis: - dieser Funktion kann nicht erstellen die angegebenen Schlüssel, wenn der Schlüssel in der Registrierung nicht vorhanden ist.

2 - zum Schließen Taste

R

Diese Funktion wird verwendet, um den Schlüssel zu schließen, die Funktion ist wie folgt.


Erklären Sie Funktion RegCloseKey Lib 'advapi32.dll' (ByVal hKey As Long) so lange


Es gibt nur einen Parameter verwendet, die in dieser Funktion, die ist


HKEY:- ist das Handle zu der geöffneten Schlüssel zu schließen. Hinweis:- die Griff für eine angegebenen Schlüssel dürfen nicht verwendet werden, nachdem es geschlossen wurde, weil es nicht mehr gültig ist. Schlüsselkennungen können nicht werden offen gelassen mehr als notwendig. Die RegCloseKey Funktion tut nicht unbedingt schreiben Informationen , die Registrierung vor zurückgeben; es dauert mehr als einige Sekunden für den Cache auf die Festplatte geschrieben werden.


3] um den Schlüssel zu erstellen

R

Diese Funktion dient zum Erstellen von Schlüsseln. Die Funktion ist wie folgt.

Declare Function RegCreateKey-Lib 'advapi32.dll' Alias 'RegCreateKeyA' (ByVal hKey As Long, ByVal LpSubKey As String, PhkResult As Long) As Long

Jetzt erlaubt gehen für Parameter, dies sind ganz ähnlich wie die RegOpenKey

Aber ich werde es wie folgt erklären.

Hkey:- Dieses ist Griff, einen Schlüssel oder derzeit Öffnung Schlüssel, der möglicherweise zu öffnen

jeder auf der folgenden sein.

HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA

HKEY_PERFORMANCE_DATA

Der Schlüssel geöffnet oder erstellt durch diese Funktion ist ein Unterschlüssel des Schlüssels durch hKey identifiziert.

LpSubKey:- Es ist eine Zeiger zu ein Null-terminierte Zeichenfolge Angabe des einen Schlüssel, der diese Funktion öffnet oder erstellt. Dieser Schlüssel muss ein Unterschlüssel, der sein die Schlüssel HKEY-Parameter identifiziert. Angenommen HKEY ist eines der vordefinierten Tasten, LpSubKey können NULL sein. In diesem Fall das Handle zurückgegeben, von mit PHkResult (siehe unten) ist das gleiche HKEY -Handle an die Funktion übergeben.


PhkResult:- Es ist ein Zeiger zu ein Variable , der erhält eines Handles für den Schlüssel geöffnet oder erstellt.

Hinweis: - bei der LpSubKey-Parameter die Adresse einer leeren Zeichenfolge ist, die Funktion öffnet und dann übergibt zurück den Schlüssel mithilfe des Parameters hKey identifiziert.


4], der Schlüssel zu löschen

R

Dies Funktion wird verwendet, um die Sub-Schlüssel und seine abhängigen oder andere Sub-Schlüssel zu löschen. In Fall von Windows NT dies Funktion Unterschlüssel nicht gelöscht, wenn es hat andere Sub-Schlüssel in dieser Situation Sie Z in eine Ordnung zu entfernen müssen bedeutet niedrigere Unterschlüssel Form an die Spitze. Die Funktion ist wie folgt.

Declare Function RegDeleteKey Lib 'advapi32.dll' Alias 'RegDeleteKeyA' (ByVal hKey As Long, ByVal LpSubKey As String) As Long

So dass die Parameter sind

Hkey :- Dieses ist Griff, einen Schlüssel oder derzeit Öffnung Schlüssel, der möglicherweise zu öffnen

jeder auf der folgenden sein.

HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA

HKEY_PERFORMANCE_DATA

LpSubKey:- Es ist Zeiger zu ein Null-terminierte Zeichenfolge Angabe den Namen der Schlüssel löschen. Dies Parameter darf nicht NULL sein und bei Windows NT es darf keinen Unterschlüssel.


5] Wert abrufen

R

Dies Funktion ruft die Typ und Daten der spezifische Wert. Die Funktion ist

Declare Function RegQueryValueEx Lib 'advapi32.dll' Alias 'RegQueryValueExA' (ByVal hKey As Long, ByVal LpValueName As String, ByVal LpReserved As Long, LpType As Long, ByVal LpData As String, LpcbData As Long) As Long

Also hier die Parameter geändert bekommen, können schauen sie


Hkey:- Ist dasselbe wie oben Funktion, sie finden.

LpValueName:- Es ist ein Zeiger auf eine Null-terminierte Zeichenkette, den Namen der die Wert zu Abfrage. In Fall dieser Parameter ist NULL oder eine leere Zeichenfolge, '', die Funktion ruft die Typ und Daten für der Schlüssel der unbenannten oder default-Wert.

LpReserved:- Als Name andeutet, es ist reservierten ist immer Null.

LpType:- Es ist ein Zeiger , die Variable erhält, die den Typ der Daten, die mit dem angegebenen Wert. Die Beschreibung der mit diesem Parameter zurückgegebenen Werte sind wie folgt.

1] RegBinary:- , es ist eine Binärdaten

2] Reg_Dword:- Doword-Datentyp mit 32-Bit-Zahl.

3] Reg_Dowrd_Little_Endian:- es ist eine Zahl im Little-Endian format, das ist 32-Bit Anzahl Equvalent zu Reg_Doword.In dieses Format ist ein Multi - Byte Wert ist gespeichert in Speicher aus das niedrigste Byte ('wenig Ende') zu die höchste Byte. Für Beispiel, die Wert 0x123456 wird als gespeichert (0x56 0 x 34 0 x 12) in little-Endian-Format.

Weitere Einzelheiten finden Sie in der Registry-Datentyp.

4] Reg_Dowrd_Big_Endian:- die Zahl ist in Big_Endian formatieren die ist ein 32-Bit Zahl. In dies Format eine Multi-Byte-Wert wird im Arbeitsspeicher gespeichert von die höchste Byte (die 'Big Ende') auf das niedrigste Byte. Z. B. die Wert 0x123456 wird als gespeichert (0 x 12 0 x 34 0x56) im big-Endian-Format.

5] Reg_Expand_Sz:- es ist null beendete Zeichenfolge, die unerwartete Verweis auf die Umgebungen-Variablen (Verordnung Eg enthält 'System %'). Dies kann Unicode oder ANSI-Zeichenfolge basierend auf, ob Sie wir verwenden Unicode oder ANSI-Funktion.

6] Reg_Link:- , es ist ein symbolischer Link von Unicode.

7] Reg_Multi_Sz:- ein Array mit null beendete Zeichenfolge, die von zwei Null-Zeichen beendet.

8] Reg_None:- definierte Werttyp ist nichts.

9] Reg_resource_List:- Liste der Gerätetreiber-Ressourcen.

10] Reg_Sz:- es ist ein null-terminierter Zeichenfolge. Es werden ANSI oder Unicode-Zeichenfolge je auf ob Sie verwenden die Unicode oder ANSI Funktionen. Also mal sehen, den nächsten Parameter d.h. LpData.

LpData:- It is a Pointer to a buffer which have the data of value. Dieser Parameter kann NULL sein, wenn die Daten nicht erforderlich ist. Lässt nun auch den letzten Parameter d.h. LpcbData bewegen.

LpcbData:- Es ist ein Zeiger , eine Variable, die die Größe des Puffers angibt wies zu von der LpData-Parameter. Wenn die Funktion zurückgibt, diese Variable enthält die Größe der der Daten kopiert , LpData. Die Größe der es wird in Bytes angegeben.

Angenommen die Puffer angegebenen von LpData Parameter ist nicht groß genug, um die Daten enthalten, die Funktion gibt den Wert ERROR_MORE_DATA zurück und speichert die erforderlich Puffer Größe in die Variable, auf die LpcbData.

Und in Fall LpData NULL ist und LpcbData nicht NULL ist, gibt die Funktion ERROR_SUCCESS, und speichert die Datenmenge in Bytes in der Variablen mit LpcbData verwiesen.

Erinnern , angenommen Wertdaten hat REG_SZ, REG_MULTI_SZ oder Typ REG_EXPAND_SZ, und die ANSI Version der dies Funktion ist entweder verwendet von explizit aufrufen RegQueryValueExA oder von nicht definieren UNICODE, dies Funktion konvertiert die Unicode-Zeichenfolge in eine ANSI-Zeichenfolge gespeichert, bevor in den Puffer kopieren von LpData verwies.

Jetzt erlaubt nehmen einen Blick auf Windows NT, bei NT (oder NT-basierten System)

Wenn hKey gibt HKEY _ PERFORMANCE_DATA und den Puffer LpData ist klein, RegQueryValueEx gibt ERROR_MORE_DATA aber LpcbData nicht wieder die Erforderliche Puffergröße. Deshalb, weil die Größe der Leistung Daten kann ändern aus einen Aufruf zum nächsten. In einem solchen Fall Sie die Puffergröße zu erhöhen und rufen Sie RegQueryValueEx wieder übergeben muss die aktualisiert Puffer Größe in die LpcbData Parameter. Wiederholen dies bis die Funktion erfolgreich ist. Sie müssen eine separate Variable zu verfolgen pflegen die Puffergröße, da die Wert zurückgegeben von LpcbData ist unberechenbar.

Es ist erstaunlich, aber völlig normal, dass wenn wir die Funktion RegQueryValueEx mit hKey aufgerufen die HKEY_PERFORMANCE_DATA festgelegt behandeln und ein Wert Zeichenfolge eines angegebenen Objekts die zurückgegebenen Daten Struktur manchmal hat unaufgefordert Objekte.

Hinweis:- die LpType Parameter kann sein NULL, wenn der Typ nicht erforderlich ist.

Die LpcbData Parameter kann NULL sein, nur wenn LpData NULL ist.



6] Wert festgelegt

R

Es ist verwendet zu set Daten und Typ der eine angegebenen Wert in einem Registrierungsschlüssel.

Die Funktion ist wie folgt.

Declare Function RegSetValueEx Lib 'advapi32.dll' Alias 'RegSetValueExA' (ByVal hKey As Long, ByVal LpValueName As String, ByVal reserviert als

APIs hinter Registrierung

APIs hinter Registrierung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Freunden empfehlen
  • gplus
  • pinterest

Kürzliche Posts

Kommentar

Einen Kommentar hinterlassen

Wertung