NmrClientAttachProvider-Funktion (netioddk.h)
Die NmrClientAttachProvider-Funktion fügt ein Clientmodul an ein Anbietermodul an.
Syntax
NTSTATUS NmrClientAttachProvider(
[in] HANDLE NmrBindingHandle,
[in] __drv_aliasesMem PVOID ClientBindingContext,
[in] const VOID *ClientDispatch,
[out] PVOID *ProviderBindingContext,
[out] const VOID **ProviderDispatch
);
Parameter
[in] NmrBindingHandle
Ein Handle, das vom NMR verwendet wird, um die Bindung zwischen dem Clientmodul und dem Anbietermodul darzustellen. Der NMR übergibt dieses Handle an das Clientmodul, wenn es die ClientAttachProvider-Rückruffunktion des Clientmoduls aufruft.
[in] ClientBindingContext
Ein Zeiger auf einen vom Aufrufer bereitgestellten Kontext für die Bindung zwischen dem Clientmodul und dem Anbietermodul. Das Clientmodul verwendet diesen Kontext, um den Status der Bindung nachzuverfolgen. Der Inhalt des Bindungskontexts des Clientmoduls ist für das Anbietermodul undurchsichtig. Das Anbietermodul übergibt diesen Zeiger an das Clientmodul, wenn es eine der NPI-Rückruffunktionen des Clientmoduls aufruft, die den Bindungskontext des Clientmoduls erfordern. Das Clientmodul muss sicherstellen, dass dieser Kontext gültig bleibt und sich im Arbeitsspeicher befindet, solange das Anbietermodul an das Clientmodul angefügt ist.
[in] ClientDispatch
Ein Zeiger auf eine konstante Struktur, die die Dispatchtabelle der NPI-Rückruffunktionen für das Clientmodul enthält. Das Clientmodul muss sicherstellen, dass diese Struktur gültig bleibt und sich im Arbeitsspeicher befindet, solange das Anbietermodul an das Clientmodul angefügt ist. Der Inhalt der Struktur ist NPI-spezifisch. Wenn die NPI keine Struktur der Clientverteilungstabelle definiert, muss das Clientmodul diesen Parameter auf NULL festlegen.
[out] ProviderBindingContext
Ein Zeiger auf eine Variable, die einen Zeiger auf den Kontext des Anbietermoduls für die Bindung zwischen dem Clientmodul und dem Anbietermodul empfängt. Das Anbietermodul verwendet diesen Kontext, um den Status der Bindung nachzuverfolgen. Der Inhalt des Bindungskontexts des Anbietermoduls ist für das Clientmodul undurchsichtig. Das Clientmodul übergibt diesen Zeiger an das Anbietermodul, wenn es eine der NPI-Funktionen des Anbietermoduls aufruft, die den Bindungskontext des Anbietermoduls erfordern.
[out] ProviderDispatch
Ein Zeiger auf eine Variable, die einen Zeiger auf eine Struktur empfängt, die die Dispatchtabelle von enthält.
NPI-Funktionen für das Anbietermodul. Der Inhalt der Struktur ist NPI-spezifisch.
Rückgabewert
Die NmrClientAttachProvider-Funktion gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Das Clientmodul wurde erfolgreich an das Anbietermodul angefügt. |
|
Das Anbietermodul wurde nicht an das Clientmodul angefügt. |
|
Ein Fehler ist aufgetreten. |
Hinweise
Ein Clientmodul ruft die NmrClientAttachProvider-Funktion aus seiner ClientAttachProvider-Rückruffunktion auf, um sich selbst an ein Anbietermodul anzufügen.
Wenn ein Clientmodul die NmrClientAttachProvider-Funktion aufruft, ruft der NMR die ProviderAttachClient-Rückruffunktion des Anbietermoduls auf, um den Anlageprozess abzuschließen. Die NmrClientAttachProvider-Funktion gibt den status Code zurück, der von der ProviderAttachClient-Rückruffunktion des Anbietermoduls zurückgegeben wird.
Wenn die NmrClientAttachProvider-Funktion nicht STATUS_SUCCESS zurückgibt, sollte das Clientmodul eine erforderliche Bereinigung der in seiner Bindungskontextstruktur enthaltenen Daten durchführen. Das Clientmodul sollte dann den Arbeitsspeicher für seine Bindungskontextstruktur freigeben, wenn es den Arbeitsspeicher für die Struktur dynamisch zugeordnet hat.
Wenn die NmrClientAttachProvider-Funktion STATUS_SUCCESS zurückgibt und das Clientmodul den Speicher für seinen Bindungskontext dynamisch zugeordnet hat, sollte das Clientmodul diesen zugeordneten Arbeitsspeicher freigeben, wenn der NMR den des Clientmoduls aufruft. ClientCleanupBindingContext-Rückruffunktion , nachdem das Clientmodul und das Anbietermodul voneinander getrennt wurden.
Wenn die NmrClientAttachProvider-Funktion STATUS_SUCCESS zurückgibt, muss das Clientmodul die in den Parametern ProviderBindingContext und ProviderDispatch zurückgegebenen Zeiger speichern, damit die NPI-Funktionen des Anbietermoduls aufgerufen werden können.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Desktop |
Kopfzeile | netioddk.h (include Wsk.h) |
Bibliothek | Netio.lib |
IRQL | PASSIVE_LEVEL |