Inizializzazione del driver

Le funzioni di inizializzazione, WpdBaseDriver::Initialize e WpdBaseDriver::Uninitialize sono vuote nell'esempio WpdHelloWorldDriver. La funzione Initialize restituisce semplicemente S_OK e la funzione Uninitialize non esegue alcuna operazione.

L'estratto seguente del driver di esempio contiene il codice per WpdBaseDriver::Initialize e WpdBaseDriver::Uninitialize.

/**
 * This method is called to initialize the driver object.
 * This is where the driver would set up its I/O libraries
 * and so on.
 */
HRESULT WpdBaseDriver::Initialize()
{

    return S_OK;
}

/**
 * This method is called to uninitialize the driver object.
 * In a real driver, this is where the driver would clean up
 * any resources held by this driver.
 */
VOID WpdBaseDriver::Uninitialize()
{
}

Se si vuole convertire questo esempio per supportare un dispositivo effettivo, ad esempio un telefono cellulare abilitato per Bluetooth, è necessario aggiungere funzionalità nella funzione Inizializzare per inizializzare la libreria di I/O del driver. che emette i comandi del dispositivo. Nel caso del telefono cellulare, questa libreria potrebbe includere comandi per enumerare una rubrica o per impostare o recuperare file nello spazio di archiviazione del telefono. Come minimo, la funzione Initialize stabilirà l'indirizzo di rete del dispositivo. La funzione WPDBaseDriver::Uninitialize eseguirà qualsiasi pulizia necessaria.